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/06/11 07:38:20 UTC
[james-project] branch master updated: JAMES-3595 Spooler
processing starts before mailetContainer initialisation
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 5eea674 JAMES-3595 Spooler processing starts before mailetContainer initialisation
5eea674 is described below
commit 5eea674568a614bc0e848796b23a475134307d29
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Tue Jun 8 18:06:43 2021 +0700
JAMES-3595 Spooler processing starts before mailetContainer initialisation
---
.../modules/server/CamelMailetContainerModule.java | 20 +++++++++-----------
.../server/CamelMailetContainerModuleTest.java | 13 ++++++++++---
2 files changed, 19 insertions(+), 14 deletions(-)
diff --git a/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java b/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
index 975b298..844667e 100644
--- a/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
+++ b/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
@@ -131,16 +131,6 @@ public class CamelMailetContainerModule extends AbstractModule {
return JamesMailSpooler.Configuration.from(mailRepositoryStore, conf);
}
- @ProvidesIntoSet
- InitializationOperation startSpooler(JamesMailSpooler jamesMailSpooler, JamesMailSpooler.Configuration configuration) {
- return InitilizationOperationBuilder
- .forClass(JamesMailSpooler.class)
- .init(() -> {
- jamesMailSpooler.configure(configuration);
- jamesMailSpooler.init();
- });
- }
-
private HierarchicalConfiguration<ImmutableNode> getJamesSpoolerConfiguration(ConfigurationProvider configurationProvider) {
try {
return configurationProvider.getConfiguration("mailetcontainer")
@@ -176,18 +166,23 @@ public class CamelMailetContainerModule extends AbstractModule {
private final DefaultProcessorsConfigurationSupplier defaultProcessorsConfigurationSupplier;
private final Set<ProcessorsCheck> processorsCheckSet;
private final DefaultCamelContext camelContext;
+ private final JamesMailSpooler jamesMailSpooler;
+ private final JamesMailSpooler.Configuration spoolerConfiguration;
+
@Inject
public MailetModuleInitializationOperation(ConfigurationProvider configurationProvider,
CamelCompositeProcessor camelCompositeProcessor,
Set<ProcessorsCheck> processorsCheckSet,
DefaultProcessorsConfigurationSupplier defaultProcessorsConfigurationSupplier,
- DefaultCamelContext camelContext) {
+ DefaultCamelContext camelContext, JamesMailSpooler jamesMailSpooler, JamesMailSpooler.Configuration spoolerConfiguration) {
this.configurationProvider = configurationProvider;
this.camelCompositeProcessor = camelCompositeProcessor;
this.processorsCheckSet = processorsCheckSet;
this.defaultProcessorsConfigurationSupplier = defaultProcessorsConfigurationSupplier;
this.camelContext = camelContext;
+ this.jamesMailSpooler = jamesMailSpooler;
+ this.spoolerConfiguration = spoolerConfiguration;
}
@Override
@@ -200,6 +195,9 @@ public class CamelMailetContainerModule extends AbstractModule {
camelCompositeProcessor.setCamelContext(camelContext);
camelCompositeProcessor.configure(getProcessorConfiguration());
camelCompositeProcessor.init();
+
+ jamesMailSpooler.configure(spoolerConfiguration);
+ jamesMailSpooler.init();
}
@VisibleForTesting
diff --git a/server/container/guice/mailet/src/test/java/org/apache/james/modules/server/CamelMailetContainerModuleTest.java b/server/container/guice/mailet/src/test/java/org/apache/james/modules/server/CamelMailetContainerModuleTest.java
index 93468b5..d743302 100644
--- a/server/container/guice/mailet/src/test/java/org/apache/james/modules/server/CamelMailetContainerModuleTest.java
+++ b/server/container/guice/mailet/src/test/java/org/apache/james/modules/server/CamelMailetContainerModuleTest.java
@@ -33,6 +33,7 @@ import org.apache.commons.configuration2.HierarchicalConfiguration;
import org.apache.commons.configuration2.XMLConfiguration;
import org.apache.commons.configuration2.ex.ConfigurationRuntimeException;
import org.apache.commons.configuration2.tree.ImmutableNode;
+import org.apache.james.mailetcontainer.impl.JamesMailSpooler;
import org.apache.james.mailetcontainer.impl.camel.CamelCompositeProcessor;
import org.apache.james.modules.server.CamelMailetContainerModule.MailetModuleInitializationOperation;
import org.apache.james.server.core.configuration.ConfigurationProvider;
@@ -103,7 +104,9 @@ class CamelMailetContainerModuleTest {
mock(CamelCompositeProcessor.class),
NO_TRANSPORT_CHECKS,
() -> defaultConfiguration,
- mock(DefaultCamelContext.class));
+ mock(DefaultCamelContext.class),
+ mock(JamesMailSpooler.class),
+ mock(JamesMailSpooler.Configuration.class));
assertThat(testee.getProcessorConfiguration())
.isEqualTo(defaultConfiguration);
@@ -119,7 +122,9 @@ class CamelMailetContainerModuleTest {
mock(CamelCompositeProcessor.class),
NO_TRANSPORT_CHECKS,
mock(CamelMailetContainerModule.DefaultProcessorsConfigurationSupplier.class),
- mock(DefaultCamelContext.class));
+ mock(DefaultCamelContext.class),
+ mock(JamesMailSpooler.class),
+ mock(JamesMailSpooler.Configuration.class));
assertThatThrownBy(testee::getProcessorConfiguration)
.isInstanceOf(ConfigurationRuntimeException.class);
@@ -141,7 +146,9 @@ class CamelMailetContainerModuleTest {
mock(CamelCompositeProcessor.class),
NO_TRANSPORT_CHECKS,
mock(CamelMailetContainerModule.DefaultProcessorsConfigurationSupplier.class),
- mock(DefaultCamelContext.class));
+ mock(DefaultCamelContext.class),
+ mock(JamesMailSpooler.class),
+ mock(JamesMailSpooler.Configuration.class));
HierarchicalConfiguration<ImmutableNode> mailetContextConfiguration = testee.getProcessorConfiguration();
assertThat(mailetContextConfiguration.getString("key"))
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org