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 rc...@apache.org on 2020/08/10 09:31:52 UTC

[james-project] 04/04: JAMES-3343 Extract CassandraMailQueueView initialization into a StartUpCheck

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

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

commit 1403bdbdb2065c97ac26cbe751a389ab885ee3f2
Author: Gautier DI FOLCO <gd...@linagora.com>
AuthorDate: Tue Jul 28 10:37:01 2020 +0200

    JAMES-3343 Extract CassandraMailQueueView initialization into a StartUpCheck
---
 .../modules/blobstore/BlobStoreModulesChooser.java |  2 +-
 .../james/modules/rabbitmq/RabbitMQModule.java     |  3 +
 .../view/cassandra/CassandraMailQueueView.java     |  8 +--
 .../CassandraMailQueueViewStartUpCheck.java        | 64 ++++++++++++++++++++
 .../RabbitMQMailQueueConfigurationChangeTest.java  | 68 +++++++++++++---------
 .../queue/rabbitmq/RabbitMQMailQueueTest.java      |  1 -
 .../CassandraMailQueueViewTestFactory.java         | 18 +-----
 7 files changed, 112 insertions(+), 52 deletions(-)

diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/BlobStoreModulesChooser.java b/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/BlobStoreModulesChooser.java
index 20bdf8f..b37e0ab 100644
--- a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/BlobStoreModulesChooser.java
+++ b/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/BlobStoreModulesChooser.java
@@ -93,7 +93,7 @@ public class BlobStoreModulesChooser {
     public static List<Module> chooseModules(BlobStoreConfiguration choosingConfiguration) {
         ImmutableList.Builder<Module> moduleBuilder = ImmutableList.<Module>builder()
             .add(chooseDumBlobStoreModule(choosingConfiguration.getImplementation()))
-            .add( new StoragePolicyConfigurationSanityEnforcementModule(choosingConfiguration));
+            .add(new StoragePolicyConfigurationSanityEnforcementModule(choosingConfiguration));
 
         //TODO JAMES-3028 add the storage policy module for all implementation and unbind the ObjectStorageBlobStore
         if (choosingConfiguration.getImplementation() == BlobStoreConfiguration.BlobStoreImplName.CASSANDRA) {
diff --git a/server/container/guice/rabbitmq/src/main/java/org/apache/james/modules/rabbitmq/RabbitMQModule.java b/server/container/guice/rabbitmq/src/main/java/org/apache/james/modules/rabbitmq/RabbitMQModule.java
index f4d1c9f..b21be1d 100644
--- a/server/container/guice/rabbitmq/src/main/java/org/apache/james/modules/rabbitmq/RabbitMQModule.java
+++ b/server/container/guice/rabbitmq/src/main/java/org/apache/james/modules/rabbitmq/RabbitMQModule.java
@@ -34,6 +34,7 @@ import org.apache.james.core.healthcheck.HealthCheck;
 import org.apache.james.eventsourcing.Event;
 import org.apache.james.eventsourcing.eventstore.cassandra.dto.EventDTO;
 import org.apache.james.eventsourcing.eventstore.cassandra.dto.EventDTOModule;
+import org.apache.james.lifecycle.api.StartUpCheck;
 import org.apache.james.queue.api.MailQueueFactory;
 import org.apache.james.queue.api.ManageableMailQueue;
 import org.apache.james.queue.rabbitmq.RabbitMQMailQueue;
@@ -46,6 +47,7 @@ import org.apache.james.queue.rabbitmq.view.cassandra.CassandraMailQueueMailDele
 import org.apache.james.queue.rabbitmq.view.cassandra.CassandraMailQueueMailStore;
 import org.apache.james.queue.rabbitmq.view.cassandra.CassandraMailQueueView;
 import org.apache.james.queue.rabbitmq.view.cassandra.CassandraMailQueueViewModule;
+import org.apache.james.queue.rabbitmq.view.cassandra.CassandraMailQueueViewStartUpCheck;
 import org.apache.james.queue.rabbitmq.view.cassandra.DeletedMailsDAO;
 import org.apache.james.queue.rabbitmq.view.cassandra.EnqueuedMailsDAO;
 import org.apache.james.queue.rabbitmq.view.cassandra.configuration.CassandraMailQueueViewConfiguration;
@@ -87,6 +89,7 @@ public class RabbitMQModule extends AbstractModule {
         Multibinder<EventDTOModule<? extends Event, ? extends EventDTO>> eventDTOModuleBinder = Multibinder.newSetBinder(binder(), new TypeLiteral<EventDTOModule<? extends Event, ? extends EventDTO>>() {});
         eventDTOModuleBinder.addBinding().toInstance(CassandraMailQueueViewConfigurationModule.MAIL_QUEUE_VIEW_CONFIGURATION);
 
+        Multibinder.newSetBinder(binder(), StartUpCheck.class).addBinding().to(CassandraMailQueueViewStartUpCheck.class);
         Multibinder.newSetBinder(binder(), HealthCheck.class).addBinding().to(RabbitMQHealthCheck.class);
 
         bind(ReactorRabbitMQChannelPool.Configuration.class).toInstance(ReactorRabbitMQChannelPool.Configuration.DEFAULT);
diff --git a/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/view/cassandra/CassandraMailQueueView.java b/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/view/cassandra/CassandraMailQueueView.java
index 754294f..5caaa4c 100644
--- a/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/view/cassandra/CassandraMailQueueView.java
+++ b/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/view/cassandra/CassandraMailQueueView.java
@@ -35,8 +35,6 @@ import org.apache.james.queue.rabbitmq.EnqueuedItem;
 import org.apache.james.queue.rabbitmq.MailQueueName;
 import org.apache.james.queue.rabbitmq.view.api.DeleteCondition;
 import org.apache.james.queue.rabbitmq.view.api.MailQueueView;
-import org.apache.james.queue.rabbitmq.view.cassandra.configuration.CassandraMailQueueViewConfiguration;
-import org.apache.james.queue.rabbitmq.view.cassandra.configuration.EventsourcingConfigurationManagement;
 import org.apache.james.queue.rabbitmq.view.cassandra.model.EnqueuedItemWithSlicingContext;
 
 import reactor.core.publisher.Flux;
@@ -55,15 +53,11 @@ public class CassandraMailQueueView implements MailQueueView<CassandraMailQueueB
         public Factory(CassandraMailQueueMailStore storeHelper,
                        CassandraMailQueueBrowser cassandraMailQueueBrowser,
                        CassandraMailQueueMailDelete cassandraMailQueueMailDelete,
-                       EventsourcingConfigurationManagement eventsourcingConfigurationManagement,
-                       MimeMessageStore.Factory mimeMessageStoreFactory,
-                       CassandraMailQueueViewConfiguration configuration) {
+                       MimeMessageStore.Factory mimeMessageStoreFactory) {
             this.storeHelper = storeHelper;
             this.cassandraMailQueueBrowser = cassandraMailQueueBrowser;
             this.cassandraMailQueueMailDelete = cassandraMailQueueMailDelete;
             this.mimeMessageStoreFactory = mimeMessageStoreFactory;
-
-            eventsourcingConfigurationManagement.registerConfiguration(configuration);
         }
 
         @Override
diff --git a/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/view/cassandra/CassandraMailQueueViewStartUpCheck.java b/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/view/cassandra/CassandraMailQueueViewStartUpCheck.java
new file mode 100644
index 0000000..c29f40d
--- /dev/null
+++ b/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/view/cassandra/CassandraMailQueueViewStartUpCheck.java
@@ -0,0 +1,64 @@
+/****************************************************************
+ * 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.                                           *
+ ***************************************************************/
+
+package org.apache.james.queue.rabbitmq.view.cassandra;
+
+import javax.inject.Inject;
+
+import org.apache.james.lifecycle.api.StartUpCheck;
+import org.apache.james.queue.rabbitmq.view.cassandra.configuration.CassandraMailQueueViewConfiguration;
+import org.apache.james.queue.rabbitmq.view.cassandra.configuration.EventsourcingConfigurationManagement;
+
+import com.google.common.annotations.VisibleForTesting;
+
+public class CassandraMailQueueViewStartUpCheck implements StartUpCheck {
+    private static final String NAME = "cassandra-mail-queue-view-startup-check";
+    private final EventsourcingConfigurationManagement eventsourcingConfigurationManagement;
+    private final CassandraMailQueueViewConfiguration configuration;
+
+    @VisibleForTesting
+    @Inject
+    public CassandraMailQueueViewStartUpCheck(EventsourcingConfigurationManagement eventsourcingConfigurationManagement,
+                                       CassandraMailQueueViewConfiguration configuration) {
+        this.eventsourcingConfigurationManagement = eventsourcingConfigurationManagement;
+        this.configuration = configuration;
+    }
+
+    @Override
+    public CheckResult check() {
+        try {
+            eventsourcingConfigurationManagement.registerConfiguration(configuration);
+            return CheckResult.builder()
+                .checkName(NAME)
+                .resultType(ResultType.GOOD)
+                .build();
+        } catch (IllegalArgumentException e) {
+            return CheckResult.builder()
+                .checkName(NAME)
+                .resultType(ResultType.BAD)
+                .description(e.getMessage())
+                .build();
+        }
+    }
+
+    @Override
+    public String checkName() {
+        return NAME;
+    }
+}
diff --git a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueConfigurationChangeTest.java b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueConfigurationChangeTest.java
index 6595c88..b4041f6 100644
--- a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueConfigurationChangeTest.java
+++ b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueConfigurationChangeTest.java
@@ -23,7 +23,6 @@ import static java.time.temporal.ChronoUnit.HOURS;
 import static java.time.temporal.ChronoUnit.MINUTES;
 import static org.apache.james.queue.api.Mails.defaultMail;
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 import java.time.Duration;
 import java.time.Instant;
@@ -41,7 +40,11 @@ import org.apache.james.blob.api.HashBlobId;
 import org.apache.james.blob.cassandra.CassandraBlobModule;
 import org.apache.james.blob.cassandra.CassandraBlobStoreFactory;
 import org.apache.james.blob.mail.MimeMessageStore;
+import org.apache.james.eventsourcing.eventstore.cassandra.CassandraEventStore;
 import org.apache.james.eventsourcing.eventstore.cassandra.CassandraEventStoreModule;
+import org.apache.james.eventsourcing.eventstore.cassandra.EventStoreDao;
+import org.apache.james.eventsourcing.eventstore.cassandra.JsonEventSerializer;
+import org.apache.james.lifecycle.api.StartUpCheck;
 import org.apache.james.metrics.api.NoopGaugeRegistry;
 import org.apache.james.metrics.tests.RecordingMetricFactory;
 import org.apache.james.queue.api.MailQueue;
@@ -51,8 +54,11 @@ import org.apache.james.queue.api.RawMailQueueItemDecoratorFactory;
 import org.apache.james.queue.rabbitmq.view.RabbitMQMailQueueConfiguration;
 import org.apache.james.queue.rabbitmq.view.cassandra.CassandraMailQueueView;
 import org.apache.james.queue.rabbitmq.view.cassandra.CassandraMailQueueViewModule;
+import org.apache.james.queue.rabbitmq.view.cassandra.CassandraMailQueueViewStartUpCheck;
 import org.apache.james.queue.rabbitmq.view.cassandra.CassandraMailQueueViewTestFactory;
 import org.apache.james.queue.rabbitmq.view.cassandra.configuration.CassandraMailQueueViewConfiguration;
+import org.apache.james.queue.rabbitmq.view.cassandra.configuration.CassandraMailQueueViewConfigurationModule;
+import org.apache.james.queue.rabbitmq.view.cassandra.configuration.EventsourcingConfigurationManagement;
 import org.apache.james.util.streams.Iterators;
 import org.apache.james.utils.UpdatableTickingClock;
 import org.apache.mailet.Mail;
@@ -61,6 +67,7 @@ import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.RegisterExtension;
 
+import com.datastax.driver.core.Session;
 import com.github.fge.lambdas.Throwing;
 
 class RabbitMQMailQueueConfigurationChangeTest {
@@ -107,19 +114,16 @@ class RabbitMQMailQueueConfigurationChangeTest {
         mqManagementApi.deleteAllQueues();
     }
 
-    private RabbitMQMailQueue getRabbitMQMailQueue(CassandraCluster cassandra, CassandraMailQueueViewConfiguration mailQueueViewConfiguration) throws Exception {
+    private RabbitMQMailQueue getRabbitMQMailQueue(CassandraCluster cassandra, CassandraMailQueueViewConfiguration mailQueueViewConfiguration) {
         CassandraMailQueueView.Factory mailQueueViewFactory = CassandraMailQueueViewTestFactory.factory(clock,
             cassandra.getConf(),
-            cassandraCluster.getCassandraConsistenciesConfiguration(),
             mailQueueViewConfiguration,
             mimeMessageStoreFactory);
 
-
         RabbitMQMailQueueConfiguration mailQueueSizeConfiguration = RabbitMQMailQueueConfiguration.builder()
             .sizeMetricsEnabled(true)
             .build();
 
-
         RabbitMQMailQueueFactory.PrivateFactory privateFactory = new RabbitMQMailQueueFactory.PrivateFactory(
             new RecordingMetricFactory(),
             new NoopGaugeRegistry(),
@@ -132,11 +136,23 @@ class RabbitMQMailQueueConfigurationChangeTest {
             new RawMailQueueItemDecoratorFactory(),
             mailQueueSizeConfiguration);
         RabbitMQMailQueueFactory mailQueueFactory = new RabbitMQMailQueueFactory(rabbitMQExtension.getSender(), mqManagementApi, privateFactory);
+        assertThat(performStartUpCheck(cassandra.getConf(), mailQueueViewConfiguration)).isEqualTo(StartUpCheck.ResultType.GOOD);
         return mailQueueFactory.createQueue(SPOOL);
     }
 
+    private StartUpCheck.ResultType performStartUpCheck(Session session, CassandraMailQueueViewConfiguration configuration) {
+        EventStoreDao eventStoreDao = new EventStoreDao(
+                session,
+                JsonEventSerializer.forModules(CassandraMailQueueViewConfigurationModule.MAIL_QUEUE_VIEW_CONFIGURATION).withoutNestedType(),
+                cassandraCluster.getCassandraConsistenciesConfiguration());
+        EventsourcingConfigurationManagement eventsourcingConfigurationManagement = new EventsourcingConfigurationManagement(new CassandraEventStore(eventStoreDao));
+
+        StartUpCheck check = new CassandraMailQueueViewStartUpCheck(eventsourcingConfigurationManagement, configuration);
+        return check.check().getResultType();
+    }
+
     @Test
-    void increasingBucketCountShouldAllowBrowsingAllQueueElements(CassandraCluster cassandra) throws Exception {
+    void increasingBucketCountShouldAllowBrowsingAllQueueElements(CassandraCluster cassandra) {
         RabbitMQMailQueue mailQueue = getRabbitMQMailQueue(cassandra, DEFAULT_CONFIGURATION);
 
         enqueueSomeMails(mailQueue, namePatternForSlice(1), 10);
@@ -163,20 +179,20 @@ class RabbitMQMailQueueConfigurationChangeTest {
     }
 
     @Test
-    void decreasingBucketCountShouldBeRejected(CassandraCluster cassandra) throws Exception {
-        getRabbitMQMailQueue(cassandra,
-            CassandraMailQueueViewConfiguration.builder()
-                    .bucketCount(THREE_BUCKET_COUNT + 2)
-                    .updateBrowseStartPace(UPDATE_BROWSE_START_PACE)
-                    .sliceWindow(ONE_HOUR_SLICE_WINDOW)
-                    .build());
+    void decreasingBucketCountShouldBeRejected(CassandraCluster cassandra) {
+        assertThat(performStartUpCheck(cassandra.getConf(), CassandraMailQueueViewConfiguration.builder()
+                .bucketCount(THREE_BUCKET_COUNT + 2)
+                .updateBrowseStartPace(UPDATE_BROWSE_START_PACE)
+                .sliceWindow(ONE_HOUR_SLICE_WINDOW)
+                .build()))
+            .isEqualTo(StartUpCheck.ResultType.GOOD);
 
-        assertThatThrownBy(() -> getRabbitMQMailQueue(cassandra, DEFAULT_CONFIGURATION))
-            .isInstanceOf(IllegalArgumentException.class);
+        assertThat(performStartUpCheck(cassandra.getConf(), DEFAULT_CONFIGURATION))
+            .isEqualTo(StartUpCheck.ResultType.BAD);
     }
 
     @Test
-    void divideSliceWindowShouldAllowBrowsingAllQueueElements(CassandraCluster cassandra) throws Exception {
+    void divideSliceWindowShouldAllowBrowsingAllQueueElements(CassandraCluster cassandra) {
         RabbitMQMailQueue mailQueue = getRabbitMQMailQueue(cassandra, DEFAULT_CONFIGURATION);
 
         clock.setInstant(IN_SLICE_1);
@@ -209,29 +225,29 @@ class RabbitMQMailQueueConfigurationChangeTest {
     }
 
     @Test
-    void decreaseArbitrarilySliceWindowShouldBeRejected(CassandraCluster cassandra) throws Exception {
-        getRabbitMQMailQueue(cassandra, DEFAULT_CONFIGURATION);
+    void decreaseArbitrarilySliceWindowShouldBeRejected(CassandraCluster cassandra) {
+        assertThat(performStartUpCheck(cassandra.getConf(), DEFAULT_CONFIGURATION))
+                .isEqualTo(StartUpCheck.ResultType.GOOD);
 
-        assertThatThrownBy(() -> getRabbitMQMailQueue(cassandra,
-            CassandraMailQueueViewConfiguration.builder()
+        assertThat(performStartUpCheck(cassandra.getConf(), CassandraMailQueueViewConfiguration.builder()
                 .bucketCount(THREE_BUCKET_COUNT)
                 .updateBrowseStartPace(UPDATE_BROWSE_START_PACE)
                 .sliceWindow(Duration.ofMinutes(25))
                 .build()))
-            .isInstanceOf(IllegalArgumentException.class);
+            .isEqualTo(StartUpCheck.ResultType.BAD);
     }
 
     @Test
-    void increaseSliceWindowShouldBeRejected(CassandraCluster cassandra) throws Exception {
-        getRabbitMQMailQueue(cassandra, DEFAULT_CONFIGURATION);
+    void increaseSliceWindowShouldBeRejected(CassandraCluster cassandra) {
+        assertThat(performStartUpCheck(cassandra.getConf(), DEFAULT_CONFIGURATION))
+                .isEqualTo(StartUpCheck.ResultType.GOOD);
 
-        assertThatThrownBy(() -> getRabbitMQMailQueue(cassandra,
-            CassandraMailQueueViewConfiguration.builder()
+        assertThat(performStartUpCheck(cassandra.getConf(), CassandraMailQueueViewConfiguration.builder()
                 .bucketCount(THREE_BUCKET_COUNT)
                 .updateBrowseStartPace(UPDATE_BROWSE_START_PACE)
                 .sliceWindow(Duration.ofHours(2))
                 .build()))
-            .isInstanceOf(IllegalArgumentException.class);
+            .isEqualTo(StartUpCheck.ResultType.BAD);
     }
 
     private Function<Integer, String> namePatternForSlice(int sliceId) {
diff --git a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueTest.java b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueTest.java
index b933b52..3c810b4 100644
--- a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueTest.java
+++ b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueTest.java
@@ -838,7 +838,6 @@ class RabbitMQMailQueueTest {
         MailQueueView.Factory mailQueueViewFactory = CassandraMailQueueViewTestFactory.factory(
                 clock,
                 cassandra.getConf(),
-                cassandraCluster.getCassandraConsistenciesConfiguration(),
                 CassandraMailQueueViewConfiguration.builder()
                     .bucketCount(THREE_BUCKET_COUNT)
                     .updateBrowseStartPace(UPDATE_BROWSE_START_PACE)
diff --git a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/view/cassandra/CassandraMailQueueViewTestFactory.java b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/view/cassandra/CassandraMailQueueViewTestFactory.java
index 0d611a8..1d7174a 100644
--- a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/view/cassandra/CassandraMailQueueViewTestFactory.java
+++ b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/view/cassandra/CassandraMailQueueViewTestFactory.java
@@ -22,23 +22,16 @@ package org.apache.james.queue.rabbitmq.view.cassandra;
 import java.time.Clock;
 import java.util.Optional;
 
-import org.apache.james.backends.cassandra.init.configuration.CassandraConsistenciesConfiguration;
 import org.apache.james.blob.api.HashBlobId;
 import org.apache.james.blob.mail.MimeMessageStore;
-import org.apache.james.eventsourcing.eventstore.cassandra.CassandraEventStore;
-import org.apache.james.eventsourcing.eventstore.cassandra.EventStoreDao;
-import org.apache.james.eventsourcing.eventstore.cassandra.JsonEventSerializer;
 import org.apache.james.queue.rabbitmq.MailQueueName;
 import org.apache.james.queue.rabbitmq.view.cassandra.configuration.CassandraMailQueueViewConfiguration;
-import org.apache.james.queue.rabbitmq.view.cassandra.configuration.CassandraMailQueueViewConfigurationModule;
-import org.apache.james.queue.rabbitmq.view.cassandra.configuration.EventsourcingConfigurationManagement;
 
 import com.datastax.driver.core.Session;
 
 public class CassandraMailQueueViewTestFactory {
 
     public static CassandraMailQueueView.Factory factory(Clock clock, Session session,
-                                                         CassandraConsistenciesConfiguration cassandraConsistenciesConfiguration,
                                                          CassandraMailQueueViewConfiguration configuration,
                                                          MimeMessageStore.Factory mimeMessageStoreFactory) {
         HashBlobId.Factory blobIdFactory = new HashBlobId.Factory();
@@ -51,20 +44,11 @@ public class CassandraMailQueueViewTestFactory {
         CassandraMailQueueMailStore cassandraMailQueueMailStore = new CassandraMailQueueMailStore(enqueuedMailsDao, browseStartDao, configuration, clock);
         CassandraMailQueueMailDelete cassandraMailQueueMailDelete = new CassandraMailQueueMailDelete(deletedMailsDao, browseStartDao, cassandraMailQueueBrowser, configuration);
 
-
-        EventStoreDao eventStoreDao = new EventStoreDao(
-            session,
-            JsonEventSerializer.forModules(CassandraMailQueueViewConfigurationModule.MAIL_QUEUE_VIEW_CONFIGURATION).withoutNestedType(),
-            cassandraConsistenciesConfiguration);
-        EventsourcingConfigurationManagement eventsourcingConfigurationManagement = new EventsourcingConfigurationManagement(new CassandraEventStore(eventStoreDao));
-
         return new CassandraMailQueueView.Factory(
             cassandraMailQueueMailStore,
             cassandraMailQueueBrowser,
             cassandraMailQueueMailDelete,
-            eventsourcingConfigurationManagement,
-            mimeMessageStoreFactory,
-            configuration);
+            mimeMessageStoreFactory);
     }
 
     public static boolean isInitialized(Session session, MailQueueName mailQueueName) {


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