You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2019/11/20 07:32:12 UTC
[james-project] 29/41: JAMES-2813 cassandra-guice product doesn't
need nested event types, bind a default empty one
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
commit 419f5b1b7da1388f23232dfab5ad65c1905799c1
Author: Matthieu Baechler <ma...@apache.org>
AuthorDate: Tue Nov 5 17:21:21 2019 +0100
JAMES-2813 cassandra-guice product doesn't need nested event types, bind a default empty one
---
.../CassandraRabbitMQAwsS3SmtpTestRuleFactory.java | 2 +-
.../org/apache/james/CassandraJamesServerMain.java | 18 ++++++++++++++++--
.../apache/james/CassandraRabbitMQJamesServerMain.java | 8 ++------
3 files changed, 19 insertions(+), 9 deletions(-)
diff --git a/mpt/impl/smtp/cassandra-rabbitmq-object-storage/src/test/java/org/apache/james/mpt/smtp/CassandraRabbitMQAwsS3SmtpTestRuleFactory.java b/mpt/impl/smtp/cassandra-rabbitmq-object-storage/src/test/java/org/apache/james/mpt/smtp/CassandraRabbitMQAwsS3SmtpTestRuleFactory.java
index 91cebea..d320e63 100644
--- a/mpt/impl/smtp/cassandra-rabbitmq-object-storage/src/test/java/org/apache/james/mpt/smtp/CassandraRabbitMQAwsS3SmtpTestRuleFactory.java
+++ b/mpt/impl/smtp/cassandra-rabbitmq-object-storage/src/test/java/org/apache/james/mpt/smtp/CassandraRabbitMQAwsS3SmtpTestRuleFactory.java
@@ -22,8 +22,8 @@ import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
import org.apache.james.CassandraJamesServerMain;
import org.apache.james.CleanupTasksPerformer;
import org.apache.james.GuiceJamesServer;
-import org.apache.james.backends.rabbitmq.DockerRabbitMQSingleton;
import org.apache.james.backends.cassandra.init.configuration.ClusterConfiguration;
+import org.apache.james.backends.rabbitmq.DockerRabbitMQSingleton;
import org.apache.james.dnsservice.api.DNSService;
import org.apache.james.modules.TestAwsS3BlobStoreModule;
import org.apache.james.modules.TestRabbitMQModule;
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
index 9ff2b63..d6c1a37 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
@@ -19,6 +19,11 @@
package org.apache.james;
+import static org.apache.james.eventsourcing.eventstore.cassandra.JsonEventSerializer.EVENT_NESTED_TYPES_INJECTION_NAME;
+
+import java.util.Set;
+
+import org.apache.james.json.DTOModule;
import org.apache.james.modules.BlobExportMechanismModule;
import org.apache.james.modules.MailboxModule;
import org.apache.james.modules.activemq.ActiveMQQueueModule;
@@ -67,7 +72,10 @@ import org.apache.james.modules.spamassassin.SpamAssassinListenerModule;
import org.apache.james.modules.vault.DeletedMessageVaultRoutesModule;
import org.apache.james.server.core.configuration.Configuration;
+import com.google.common.collect.ImmutableSet;
import com.google.inject.Module;
+import com.google.inject.TypeLiteral;
+import com.google.inject.name.Names;
import com.google.inject.util.Modules;
public class CassandraJamesServerMain {
@@ -105,6 +113,10 @@ public class CassandraJamesServerMain {
new BlobStoreAPIModule(),
new BlobExportMechanismModule());
+ private static final Module CASSANDRA_EVENT_STORE_JSON_SERIALIZATION_DEFAULT_MODULE = binder ->
+ binder.bind(new TypeLiteral<Set<DTOModule<?, ?>>>() {}).annotatedWith(Names.named(EVENT_NESTED_TYPES_INJECTION_NAME))
+ .toInstance(ImmutableSet.of());
+
public static final Module CASSANDRA_SERVER_CORE_MODULE = Modules.combine(
new ActiveMQQueueModule(),
new CassandraDomainListModule(),
@@ -117,7 +129,8 @@ public class CassandraJamesServerMain {
new CassandraSessionModule(),
new CassandraSieveRepositoryModule(),
new CassandraUsersRepositoryModule(),
- BLOB_MODULE);
+ BLOB_MODULE,
+ CASSANDRA_EVENT_STORE_JSON_SERIALIZATION_DEFAULT_MODULE);
public static final Module CASSANDRA_MAILBOX_MODULE = Modules.combine(
new CassandraMailboxModule(),
@@ -138,7 +151,8 @@ public class CassandraJamesServerMain {
public static Module ALL_BUT_JMX_CASSANDRA_MODULE = Modules.combine(
REQUIRE_TASK_MANAGER_MODULE,
- new TaskManagerModule()
+ new TaskManagerModule(),
+ CASSANDRA_EVENT_STORE_JSON_SERIALIZATION_DEFAULT_MODULE
);
public static void main(String[] args) throws Exception {
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/CassandraRabbitMQJamesServerMain.java b/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/CassandraRabbitMQJamesServerMain.java
index 017b4aa..c702613 100644
--- a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/CassandraRabbitMQJamesServerMain.java
+++ b/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/CassandraRabbitMQJamesServerMain.java
@@ -35,12 +35,8 @@ import com.google.inject.util.Modules;
public class CassandraRabbitMQJamesServerMain {
public static final Module MODULES =
Modules
- .override(
- Modules.combine(
- REQUIRE_TASK_MANAGER_MODULE,
- new DistributedTaskManagerModule(),
- new TaskSerializationModule()))
- .with(new RabbitMQModule(), new BlobStoreChoosingModule(), new RabbitMQEventBusModule());
+ .override(Modules.combine(REQUIRE_TASK_MANAGER_MODULE, new DistributedTaskManagerModule()))
+ .with(new RabbitMQModule(), new BlobStoreChoosingModule(), new RabbitMQEventBusModule(), new TaskSerializationModule());
public static void main(String[] args) throws Exception {
Configuration configuration = Configuration.builder()
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org