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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]