You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2021/02/14 07:11:39 UTC

[james-project] branch master updated: JAMES-3499 Split modules from Cassandra Guice apps

This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git


The following commit(s) were added to refs/heads/master by this push:
     new 88e2e69  JAMES-3499 Split modules from Cassandra Guice apps
88e2e69 is described below

commit 88e2e6930b52a1d05dd0e03a7902f43384b356c0
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Tue Feb 9 17:10:23 2021 +0700

    JAMES-3499 Split modules from Cassandra Guice apps
---
 server/container/guice/cassandra-guice/pom.xml     |  86 +---------
 .../guice/cassandra-rabbitmq-guice/pom.xml         |  36 +++++
 server/container/guice/cassandra/pom.xml           | 174 +++++++++++++++++++++
 ...assandraConsistencyTaskSerializationModule.java |   0
 .../data/CassandraDLPConfigurationStoreModule.java |   0
 .../james/modules/data/CassandraJmapModule.java    |   0
 .../data/CassandraSieveRepositoryModule.java       |   0
 .../eventstore/CassandraEventStoreModule.java      |   0
 .../CassandraBlobStoreDependenciesModule.java      |   0
 .../modules/mailbox/CassandraBlobStoreModule.java  |   0
 .../modules/mailbox/CassandraBucketModule.java     |   0
 .../mailbox/CassandraCacheSessionModule.java       |   0
 .../modules/mailbox/CassandraDeadLetterModule.java |   0
 .../CassandraDeletedMessageVaultModule.java        |   0
 .../modules/mailbox/CassandraMailboxModule.java    |   2 -
 .../mailbox/CassandraQuotaMailingModule.java       |   0
 .../modules/mailbox/CassandraQuotaModule.java      |   0
 .../CassandraSchemaVersionStartUpCheck.java        |   0
 .../modules/mailbox/CassandraSessionModule.java    |   0
 .../modules/mailbox/KeyspacesConfiguration.java    |   0
 .../modules/metrics/CassandraMetricsModule.java    |   0
 .../modules/webadmin/CassandraRoutesModule.java    |   0
 .../webadmin/InconsistencySolvingRoutesModule.java |   0
 .../org/apache/james/server/CassandraProbe.java    |   0
 .../james/server/CassandraTruncateTableTask.java   |   0
 .../mailbox/KeyspacesConfigurationTest.java        |   0
 .../resources/modules/mailbox/cassandra.properties |   0
 server/container/guice/distributed/pom.xml         | 103 ++++++++++++
 .../modules/DistributedTaskManagerModule.java      |   0
 .../DistributedTaskSerializationModule.java        |   0
 .../blobstore/BlobStoreCacheModulesChooser.java    |   0
 .../modules/blobstore/BlobStoreChoosingModule.java |   0
 .../modules/blobstore/BlobStoreConfiguration.java  |   0
 ...obStoreConfigurationValidationStartUpCheck.java |   0
 .../modules/blobstore/BlobStoreModulesChooser.java |   0
 ...obStoreConfigurationValidationStartUpCheck.java |   0
 .../validation/EventsourcingStorageStrategy.java   |   0
 .../validation/RegisterStorageStrategy.java        |   0
 .../RegisterStorageStrategyCommandHandler.java     |   0
 .../validation/StorageStrategyAggregate.java       |   0
 .../validation/StorageStrategyChanged.java         |   0
 .../validation/StorageStrategyChangedDTO.java      |   0
 .../validation/StorageStrategyModule.java          |   0
 ...orageStrategyValidationEventSourcingSystem.java |   0
 .../james/modules/event/JMAPEventBusModule.java    |   0
 .../modules/event/RabbitMQEventBusModule.java      |   0
 .../BlobStoreCacheModulesChooserTest.java          |   0
 .../blobstore/BlobStoreConfigurationTest.java      |   0
 .../blobstore/BlobStoreModulesChooserTest.java     |   0
 .../validation/StorageStrategyChangedDTOTest.java  |   0
 ...eStrategyValidationEventSourcingSystemTest.java |   0
 server/container/guice/elasticsearch/pom.xml       |  82 ++++++++++
 .../java/org/apache/james/SearchConfiguration.java |   0
 .../java/org/apache/james/SearchModuleChooser.java |   0
 .../modules/mailbox/ElasticSearchClientModule.java |   0
 .../mailbox/ElasticSearchMailboxModule.java        |   0
 .../mailbox/ElasticSearchQuotaSearcherModule.java  |   0
 .../modules/mailbox/ElasticSearchStartUpCheck.java |   0
 .../modules/mailbox/TikaConfigurationReader.java   |   0
 .../james/modules/mailbox/TikaMailboxModule.java   |   0
 .../org/apache/james/SearchConfigurationTest.java  |   0
 .../mailbox/TikaConfigurationReaderTest.java       |   0
 server/container/guice/pom.xml                     |  18 +++
 63 files changed, 417 insertions(+), 84 deletions(-)

diff --git a/server/container/guice/cassandra-guice/pom.xml b/server/container/guice/cassandra-guice/pom.xml
index 66b277f..bbad022 100644
--- a/server/container/guice/cassandra-guice/pom.xml
+++ b/server/container/guice/cassandra-guice/pom.xml
@@ -54,47 +54,23 @@
         <dependency>
             <groupId>${james.groupId}</groupId>
             <artifactId>apache-james-mailbox-cassandra</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>${james.groupId}</groupId>
-            <artifactId>apache-james-mailbox-cassandra</artifactId>
             <type>test-jar</type>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
-            <artifactId>apache-james-mailbox-deleted-messages-vault-cassandra</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>${james.groupId}</groupId>
-            <artifactId>apache-james-mailbox-elasticsearch</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>${james.groupId}</groupId>
             <artifactId>apache-james-mailbox-elasticsearch</artifactId>
             <type>test-jar</type>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
-            <artifactId>apache-james-mailbox-quota-search-elasticsearch</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>${james.groupId}</groupId>
-            <artifactId>apache-james-mailbox-quota-search-scanning</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>${james.groupId}</groupId>
             <artifactId>apache-james-mailbox-tika</artifactId>
             <type>test-jar</type>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
-            <artifactId>apache-james-mailbox-tika</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>${james.groupId}</groupId>
             <artifactId>apache-james-spamassassin</artifactId>
             <type>test-jar</type>
             <scope>test</scope>
@@ -106,53 +82,23 @@
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
-            <artifactId>blob-api-guice</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>${james.groupId}</groupId>
-            <artifactId>blob-cassandra</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>${james.groupId}</groupId>
-            <artifactId>blob-export-guice</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>${james.groupId}</groupId>
-            <artifactId>data-cassandra</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>${james.groupId}</groupId>
-            <artifactId>dead-letter-cassandra</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>${james.groupId}</groupId>
-            <artifactId>event-sourcing-event-store-cassandra</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>${james.groupId}</groupId>
             <artifactId>event-sourcing-event-store-cassandra</artifactId>
             <type>test-jar</type>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
-            <artifactId>james-server-data-cassandra</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>${james.groupId}</groupId>
-            <artifactId>james-server-data-jmap-cassandra</artifactId>
+            <artifactId>james-server-guice-cassandra</artifactId>
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
             <artifactId>james-server-guice-common</artifactId>
+            <type>test-jar</type>
+            <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
-            <artifactId>james-server-guice-common</artifactId>
-            <type>test-jar</type>
-            <scope>test</scope>
+            <artifactId>james-server-guice-elasticsearch</artifactId>
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
@@ -244,10 +190,6 @@
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
-            <artifactId>james-server-mailbox-adapter</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>${james.groupId}</groupId>
             <artifactId>james-server-mailbox-plugin-deleted-messages-vault-guice</artifactId>
         </dependency>
         <dependency>
@@ -256,10 +198,6 @@
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
-            <artifactId>james-server-mailrepository-cassandra</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>${james.groupId}</groupId>
             <artifactId>james-server-testing</artifactId>
             <scope>test</scope>
         </dependency>
@@ -269,24 +207,12 @@
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
-            <artifactId>james-server-webadmin-cassandra</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>${james.groupId}</groupId>
-            <artifactId>james-server-webadmin-cassandra-data</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>${james.groupId}</groupId>
             <artifactId>james-server-webadmin-core</artifactId>
             <type>test-jar</type>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
-            <artifactId>mailrepository-cassandra</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>${james.groupId}</groupId>
             <artifactId>metrics-es-reporter</artifactId>
             <version>${project.version}</version>
         </dependency>
@@ -296,10 +222,6 @@
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
-            <artifactId>quota-mailing-cassandra</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>${james.groupId}</groupId>
             <artifactId>testing-base</artifactId>
             <scope>test</scope>
         </dependency>
diff --git a/server/container/guice/cassandra-rabbitmq-guice/pom.xml b/server/container/guice/cassandra-rabbitmq-guice/pom.xml
index 9423391..030958f 100644
--- a/server/container/guice/cassandra-rabbitmq-guice/pom.xml
+++ b/server/container/guice/cassandra-rabbitmq-guice/pom.xml
@@ -122,18 +122,54 @@
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-guice-cassandra</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
             <artifactId>james-server-guice-common</artifactId>
             <type>test-jar</type>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-guice-distributed</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-guice-elasticsearch</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-guice-imap</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-guice-jmap</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
             <artifactId>james-server-guice-jmap</artifactId>
             <type>test-jar</type>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-guice-jmx</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-guice-pop</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-guice-smtp</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-guice-webadmin</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
             <artifactId>james-server-jmap-draft-integration-testing</artifactId>
             <type>test-jar</type>
             <scope>test</scope>
diff --git a/server/container/guice/cassandra/pom.xml b/server/container/guice/cassandra/pom.xml
new file mode 100644
index 0000000..e738aa6
--- /dev/null
+++ b/server/container/guice/cassandra/pom.xml
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements. See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership. The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License. You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied. See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.james</groupId>
+        <artifactId>james-server-guice</artifactId>
+        <version>3.6.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>james-server-guice-cassandra</artifactId>
+    <packaging>jar</packaging>
+
+    <name>Apache James :: Server :: Cassandra - guice modules</name>
+    <description>Guice injections for the Cassandra metadata-storage backend</description>
+
+    <properties>
+        <cassandra.includes>empty</cassandra.includes>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>apache-james-backends-cassandra</artifactId>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>apache-james-backends-es</artifactId>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>apache-james-mailbox-cassandra</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>apache-james-mailbox-cassandra</artifactId>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>apache-james-mailbox-deleted-messages-vault-cassandra</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>blob-api-guice</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>blob-cassandra</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>blob-export-guice</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>data-cassandra</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>dead-letter-cassandra</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>event-sourcing-event-store-cassandra</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>event-sourcing-event-store-cassandra</artifactId>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-data-cassandra</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-data-jmap-cassandra</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-guice-common</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-guice-common</artifactId>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-guice-mailbox</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-mailbox-adapter</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-mailbox-plugin-deleted-messages-vault-guice</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-mailrepository-cassandra</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-testing</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-util</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-webadmin-cassandra</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-webadmin-cassandra-data</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-webadmin-mailbox</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>mailrepository-cassandra</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>quota-mailing-cassandra</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>testing-base</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>io.rest-assured</groupId>
+            <artifactId>rest-assured</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+</project>
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/CassandraConsistencyTaskSerializationModule.java b/server/container/guice/cassandra/src/main/java/org/apache/james/modules/CassandraConsistencyTaskSerializationModule.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/CassandraConsistencyTaskSerializationModule.java
rename to server/container/guice/cassandra/src/main/java/org/apache/james/modules/CassandraConsistencyTaskSerializationModule.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDLPConfigurationStoreModule.java b/server/container/guice/cassandra/src/main/java/org/apache/james/modules/data/CassandraDLPConfigurationStoreModule.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDLPConfigurationStoreModule.java
rename to server/container/guice/cassandra/src/main/java/org/apache/james/modules/data/CassandraDLPConfigurationStoreModule.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraJmapModule.java b/server/container/guice/cassandra/src/main/java/org/apache/james/modules/data/CassandraJmapModule.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraJmapModule.java
rename to server/container/guice/cassandra/src/main/java/org/apache/james/modules/data/CassandraJmapModule.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraSieveRepositoryModule.java b/server/container/guice/cassandra/src/main/java/org/apache/james/modules/data/CassandraSieveRepositoryModule.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraSieveRepositoryModule.java
rename to server/container/guice/cassandra/src/main/java/org/apache/james/modules/data/CassandraSieveRepositoryModule.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/eventstore/CassandraEventStoreModule.java b/server/container/guice/cassandra/src/main/java/org/apache/james/modules/eventstore/CassandraEventStoreModule.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/eventstore/CassandraEventStoreModule.java
rename to server/container/guice/cassandra/src/main/java/org/apache/james/modules/eventstore/CassandraEventStoreModule.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraBlobStoreDependenciesModule.java b/server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraBlobStoreDependenciesModule.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraBlobStoreDependenciesModule.java
rename to server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraBlobStoreDependenciesModule.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraBlobStoreModule.java b/server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraBlobStoreModule.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraBlobStoreModule.java
rename to server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraBlobStoreModule.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraBucketModule.java b/server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraBucketModule.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraBucketModule.java
rename to server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraBucketModule.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraCacheSessionModule.java b/server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraCacheSessionModule.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraCacheSessionModule.java
rename to server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraCacheSessionModule.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraDeadLetterModule.java b/server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraDeadLetterModule.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraDeadLetterModule.java
rename to server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraDeadLetterModule.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraDeletedMessageVaultModule.java b/server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraDeletedMessageVaultModule.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraDeletedMessageVaultModule.java
rename to server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraDeletedMessageVaultModule.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java b/server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java
similarity index 99%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java
rename to server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java
index 965d14c..925f845 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java
+++ b/server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java
@@ -35,7 +35,6 @@ import org.apache.james.jmap.api.change.State;
 import org.apache.james.jmap.cassandra.change.CassandraEmailChangeRepository;
 import org.apache.james.jmap.cassandra.change.CassandraMailboxChangeRepository;
 import org.apache.james.jmap.cassandra.change.CassandraStateFactory;
-import org.apache.james.jmap.change.MailboxChangeListener;
 import org.apache.james.mailbox.AttachmentContentLoader;
 import org.apache.james.mailbox.AttachmentManager;
 import org.apache.james.mailbox.Authenticator;
@@ -220,7 +219,6 @@ public class CassandraMailboxModule extends AbstractModule {
         Multibinder<EventListener.GroupEventListener> mailboxListeners = Multibinder.newSetBinder(binder(), EventListener.GroupEventListener.class);
         mailboxListeners.addBinding().to(MailboxAnnotationListener.class);
         mailboxListeners.addBinding().to(DeleteMessageListener.class);
-        mailboxListeners.addBinding().to(MailboxChangeListener.class);
 
         bind(MailboxManager.class).annotatedWith(Names.named(MAILBOXMANAGER_NAME)).to(MailboxManager.class);
 
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraQuotaMailingModule.java b/server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraQuotaMailingModule.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraQuotaMailingModule.java
rename to server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraQuotaMailingModule.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraQuotaModule.java b/server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraQuotaModule.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraQuotaModule.java
rename to server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraQuotaModule.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSchemaVersionStartUpCheck.java b/server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraSchemaVersionStartUpCheck.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSchemaVersionStartUpCheck.java
rename to server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraSchemaVersionStartUpCheck.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java b/server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
rename to server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/KeyspacesConfiguration.java b/server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/KeyspacesConfiguration.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/KeyspacesConfiguration.java
rename to server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/KeyspacesConfiguration.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/metrics/CassandraMetricsModule.java b/server/container/guice/cassandra/src/main/java/org/apache/james/modules/metrics/CassandraMetricsModule.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/metrics/CassandraMetricsModule.java
rename to server/container/guice/cassandra/src/main/java/org/apache/james/modules/metrics/CassandraMetricsModule.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/webadmin/CassandraRoutesModule.java b/server/container/guice/cassandra/src/main/java/org/apache/james/modules/webadmin/CassandraRoutesModule.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/webadmin/CassandraRoutesModule.java
rename to server/container/guice/cassandra/src/main/java/org/apache/james/modules/webadmin/CassandraRoutesModule.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/webadmin/InconsistencySolvingRoutesModule.java b/server/container/guice/cassandra/src/main/java/org/apache/james/modules/webadmin/InconsistencySolvingRoutesModule.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/webadmin/InconsistencySolvingRoutesModule.java
rename to server/container/guice/cassandra/src/main/java/org/apache/james/modules/webadmin/InconsistencySolvingRoutesModule.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/server/CassandraProbe.java b/server/container/guice/cassandra/src/main/java/org/apache/james/server/CassandraProbe.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/server/CassandraProbe.java
rename to server/container/guice/cassandra/src/main/java/org/apache/james/server/CassandraProbe.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/server/CassandraTruncateTableTask.java b/server/container/guice/cassandra/src/main/java/org/apache/james/server/CassandraTruncateTableTask.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/server/CassandraTruncateTableTask.java
rename to server/container/guice/cassandra/src/main/java/org/apache/james/server/CassandraTruncateTableTask.java
diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/modules/mailbox/KeyspacesConfigurationTest.java b/server/container/guice/cassandra/src/test/java/org/apache/james/modules/mailbox/KeyspacesConfigurationTest.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/test/java/org/apache/james/modules/mailbox/KeyspacesConfigurationTest.java
rename to server/container/guice/cassandra/src/test/java/org/apache/james/modules/mailbox/KeyspacesConfigurationTest.java
diff --git a/server/container/guice/cassandra-guice/src/test/resources/modules/mailbox/cassandra.properties b/server/container/guice/cassandra/src/test/resources/modules/mailbox/cassandra.properties
similarity index 100%
rename from server/container/guice/cassandra-guice/src/test/resources/modules/mailbox/cassandra.properties
rename to server/container/guice/cassandra/src/test/resources/modules/mailbox/cassandra.properties
diff --git a/server/container/guice/distributed/pom.xml b/server/container/guice/distributed/pom.xml
new file mode 100644
index 0000000..a4a10be
--- /dev/null
+++ b/server/container/guice/distributed/pom.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements. See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership. The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License. You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied. See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.james</groupId>
+        <artifactId>james-server-guice</artifactId>
+        <version>3.6.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>james-server-guice-distributed</artifactId>
+    <packaging>jar</packaging>
+
+    <name>Apache James :: Server :: Distributed - guice modules</name>
+    <description>Guice injections for the Distributed messaging technologies</description>
+
+    <properties>
+        <cassandra.includes>empty</cassandra.includes>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>apache-james-mailbox-event-json</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>apache-james-mailbox-tools-quota-recompute</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>blob-s3-guice</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>event-bus-distributed</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>event-sourcing-event-store-memory</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-cassandra-guice</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-guice-cassandra</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-guice-common</artifactId>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-jmap</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-jmap-rfc-8621</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-task-distributed</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-webadmin-rabbitmq</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>queue-rabbitmq-guice</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>testing-base</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+</project>
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/DistributedTaskManagerModule.java b/server/container/guice/distributed/src/main/java/org/apache/james/modules/DistributedTaskManagerModule.java
similarity index 100%
rename from server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/DistributedTaskManagerModule.java
rename to server/container/guice/distributed/src/main/java/org/apache/james/modules/DistributedTaskManagerModule.java
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/DistributedTaskSerializationModule.java b/server/container/guice/distributed/src/main/java/org/apache/james/modules/DistributedTaskSerializationModule.java
similarity index 100%
rename from server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/DistributedTaskSerializationModule.java
rename to server/container/guice/distributed/src/main/java/org/apache/james/modules/DistributedTaskSerializationModule.java
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/BlobStoreCacheModulesChooser.java b/server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/BlobStoreCacheModulesChooser.java
similarity index 100%
rename from server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/BlobStoreCacheModulesChooser.java
rename to server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/BlobStoreCacheModulesChooser.java
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/BlobStoreChoosingModule.java b/server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/BlobStoreChoosingModule.java
similarity index 100%
rename from server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/BlobStoreChoosingModule.java
rename to server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/BlobStoreChoosingModule.java
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/BlobStoreConfiguration.java b/server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/BlobStoreConfiguration.java
similarity index 100%
rename from server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/BlobStoreConfiguration.java
rename to server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/BlobStoreConfiguration.java
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/BlobStoreConfigurationValidationStartUpCheck.java b/server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/BlobStoreConfigurationValidationStartUpCheck.java
similarity index 100%
rename from server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/BlobStoreConfigurationValidationStartUpCheck.java
rename to server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/BlobStoreConfigurationValidationStartUpCheck.java
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/BlobStoreModulesChooser.java b/server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/BlobStoreModulesChooser.java
similarity index 100%
rename from server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/BlobStoreModulesChooser.java
rename to server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/BlobStoreModulesChooser.java
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/validation/BlobStoreConfigurationValidationStartUpCheck.java b/server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/validation/BlobStoreConfigurationValidationStartUpCheck.java
similarity index 100%
rename from server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/validation/BlobStoreConfigurationValidationStartUpCheck.java
rename to server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/validation/BlobStoreConfigurationValidationStartUpCheck.java
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/validation/EventsourcingStorageStrategy.java b/server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/validation/EventsourcingStorageStrategy.java
similarity index 100%
rename from server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/validation/EventsourcingStorageStrategy.java
rename to server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/validation/EventsourcingStorageStrategy.java
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/validation/RegisterStorageStrategy.java b/server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/validation/RegisterStorageStrategy.java
similarity index 100%
rename from server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/validation/RegisterStorageStrategy.java
rename to server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/validation/RegisterStorageStrategy.java
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/validation/RegisterStorageStrategyCommandHandler.java b/server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/validation/RegisterStorageStrategyCommandHandler.java
similarity index 100%
rename from server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/validation/RegisterStorageStrategyCommandHandler.java
rename to server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/validation/RegisterStorageStrategyCommandHandler.java
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/validation/StorageStrategyAggregate.java b/server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/validation/StorageStrategyAggregate.java
similarity index 100%
rename from server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/validation/StorageStrategyAggregate.java
rename to server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/validation/StorageStrategyAggregate.java
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/validation/StorageStrategyChanged.java b/server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/validation/StorageStrategyChanged.java
similarity index 100%
rename from server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/validation/StorageStrategyChanged.java
rename to server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/validation/StorageStrategyChanged.java
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/validation/StorageStrategyChangedDTO.java b/server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/validation/StorageStrategyChangedDTO.java
similarity index 100%
rename from server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/validation/StorageStrategyChangedDTO.java
rename to server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/validation/StorageStrategyChangedDTO.java
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/validation/StorageStrategyModule.java b/server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/validation/StorageStrategyModule.java
similarity index 100%
rename from server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/validation/StorageStrategyModule.java
rename to server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/validation/StorageStrategyModule.java
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/validation/StorageStrategyValidationEventSourcingSystem.java b/server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/validation/StorageStrategyValidationEventSourcingSystem.java
similarity index 100%
rename from server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/validation/StorageStrategyValidationEventSourcingSystem.java
rename to server/container/guice/distributed/src/main/java/org/apache/james/modules/blobstore/validation/StorageStrategyValidationEventSourcingSystem.java
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/event/JMAPEventBusModule.java b/server/container/guice/distributed/src/main/java/org/apache/james/modules/event/JMAPEventBusModule.java
similarity index 100%
rename from server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/event/JMAPEventBusModule.java
rename to server/container/guice/distributed/src/main/java/org/apache/james/modules/event/JMAPEventBusModule.java
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/event/RabbitMQEventBusModule.java b/server/container/guice/distributed/src/main/java/org/apache/james/modules/event/RabbitMQEventBusModule.java
similarity index 100%
rename from server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/event/RabbitMQEventBusModule.java
rename to server/container/guice/distributed/src/main/java/org/apache/james/modules/event/RabbitMQEventBusModule.java
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/blobstore/BlobStoreCacheModulesChooserTest.java b/server/container/guice/distributed/src/test/java/org/apache/james/modules/blobstore/BlobStoreCacheModulesChooserTest.java
similarity index 100%
rename from server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/blobstore/BlobStoreCacheModulesChooserTest.java
rename to server/container/guice/distributed/src/test/java/org/apache/james/modules/blobstore/BlobStoreCacheModulesChooserTest.java
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/blobstore/BlobStoreConfigurationTest.java b/server/container/guice/distributed/src/test/java/org/apache/james/modules/blobstore/BlobStoreConfigurationTest.java
similarity index 100%
rename from server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/blobstore/BlobStoreConfigurationTest.java
rename to server/container/guice/distributed/src/test/java/org/apache/james/modules/blobstore/BlobStoreConfigurationTest.java
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/blobstore/BlobStoreModulesChooserTest.java b/server/container/guice/distributed/src/test/java/org/apache/james/modules/blobstore/BlobStoreModulesChooserTest.java
similarity index 100%
rename from server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/blobstore/BlobStoreModulesChooserTest.java
rename to server/container/guice/distributed/src/test/java/org/apache/james/modules/blobstore/BlobStoreModulesChooserTest.java
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/blobstore/validation/StorageStrategyChangedDTOTest.java b/server/container/guice/distributed/src/test/java/org/apache/james/modules/blobstore/validation/StorageStrategyChangedDTOTest.java
similarity index 100%
rename from server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/blobstore/validation/StorageStrategyChangedDTOTest.java
rename to server/container/guice/distributed/src/test/java/org/apache/james/modules/blobstore/validation/StorageStrategyChangedDTOTest.java
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/blobstore/validation/StorageStrategyValidationEventSourcingSystemTest.java b/server/container/guice/distributed/src/test/java/org/apache/james/modules/blobstore/validation/StorageStrategyValidationEventSourcingSystemTest.java
similarity index 100%
rename from server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/blobstore/validation/StorageStrategyValidationEventSourcingSystemTest.java
rename to server/container/guice/distributed/src/test/java/org/apache/james/modules/blobstore/validation/StorageStrategyValidationEventSourcingSystemTest.java
diff --git a/server/container/guice/elasticsearch/pom.xml b/server/container/guice/elasticsearch/pom.xml
new file mode 100644
index 0000000..2e77882
--- /dev/null
+++ b/server/container/guice/elasticsearch/pom.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements. See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership. The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License. You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied. See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.james</groupId>
+        <artifactId>james-server-guice</artifactId>
+        <version>3.6.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>james-server-guice-elasticsearch</artifactId>
+    <packaging>jar</packaging>
+
+    <name>Apache James :: Server :: ElasticSearch - guice modules</name>
+    <description>Guice injections for the ElasticSearch search engine</description>
+
+    <properties>
+        <cassandra.includes>empty</cassandra.includes>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>apache-james-mailbox-elasticsearch</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>apache-james-mailbox-quota-search-elasticsearch</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>apache-james-mailbox-quota-search-scanning</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>apache-james-mailbox-tika</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-guice-common</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-guice-webadmin-mailbox</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-testing</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-util</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
+            <artifactId>testing-base</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+</project>
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/SearchConfiguration.java b/server/container/guice/elasticsearch/src/main/java/org/apache/james/SearchConfiguration.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/SearchConfiguration.java
rename to server/container/guice/elasticsearch/src/main/java/org/apache/james/SearchConfiguration.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/SearchModuleChooser.java b/server/container/guice/elasticsearch/src/main/java/org/apache/james/SearchModuleChooser.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/SearchModuleChooser.java
rename to server/container/guice/elasticsearch/src/main/java/org/apache/james/SearchModuleChooser.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchClientModule.java b/server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/ElasticSearchClientModule.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchClientModule.java
rename to server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/ElasticSearchClientModule.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java b/server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java
rename to server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchQuotaSearcherModule.java b/server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/ElasticSearchQuotaSearcherModule.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchQuotaSearcherModule.java
rename to server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/ElasticSearchQuotaSearcherModule.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchStartUpCheck.java b/server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/ElasticSearchStartUpCheck.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchStartUpCheck.java
rename to server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/ElasticSearchStartUpCheck.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/TikaConfigurationReader.java b/server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/TikaConfigurationReader.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/TikaConfigurationReader.java
rename to server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/TikaConfigurationReader.java
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/TikaMailboxModule.java b/server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/TikaMailboxModule.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/TikaMailboxModule.java
rename to server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/TikaMailboxModule.java
diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/SearchConfigurationTest.java b/server/container/guice/elasticsearch/src/test/java/org/apache/james/SearchConfigurationTest.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/test/java/org/apache/james/SearchConfigurationTest.java
rename to server/container/guice/elasticsearch/src/test/java/org/apache/james/SearchConfigurationTest.java
diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/modules/mailbox/TikaConfigurationReaderTest.java b/server/container/guice/elasticsearch/src/test/java/org/apache/james/modules/mailbox/TikaConfigurationReaderTest.java
similarity index 100%
rename from server/container/guice/cassandra-guice/src/test/java/org/apache/james/modules/mailbox/TikaConfigurationReaderTest.java
rename to server/container/guice/elasticsearch/src/test/java/org/apache/james/modules/mailbox/TikaConfigurationReaderTest.java
diff --git a/server/container/guice/pom.xml b/server/container/guice/pom.xml
index f499ffe..af2b071 100644
--- a/server/container/guice/pom.xml
+++ b/server/container/guice/pom.xml
@@ -38,12 +38,15 @@
         <module>blob/export</module>
         <module>blob/memory</module>
         <module>blob/s3</module>
+        <module>cassandra</module>
         <module>cassandra-guice</module>
         <module>cassandra-ldap-guice</module>
         <module>cassandra-rabbitmq-guice</module>
         <module>cassandra-rabbitmq-ldap-guice</module>
         <module>configuration</module>
         <module>data-cassandra</module>
+        <module>distributed</module>
+        <module>elasticsearch</module>
         <module>es-metric-reporter</module>
         <module>guice-common</module>
         <module>guice-utils</module>
@@ -100,11 +103,26 @@
             </dependency>
             <dependency>
                 <groupId>${james.groupId}</groupId>
+                <artifactId>james-server-guice-cassandra</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>${james.groupId}</groupId>
                 <artifactId>james-server-guice-configuration</artifactId>
                 <version>${project.version}</version>
             </dependency>
             <dependency>
                 <groupId>${james.groupId}</groupId>
+                <artifactId>james-server-guice-distributed</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>${james.groupId}</groupId>
+                <artifactId>james-server-guice-elasticsearch</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>${james.groupId}</groupId>
                 <artifactId>james-server-guice-es-resporter</artifactId>
                 <version>${project.version}</version>
             </dependency>


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org