You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by rc...@apache.org on 2021/06/17 03:16:04 UTC
[james-project] 02/05: JAMES-3589 drop the no longer needed Camel
dependency
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 4290c12d102cc58e5c5327217aeb50abb9c7f1c4
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Wed Jun 2 15:56:32 2021 +0700
JAMES-3589 drop the no longer needed Camel dependency
---
pom.xml | 23 -----------------
server/apps/spring-app/pom.xml | 22 ----------------
server/container/guice/mailet/pom.xml | 4 ---
.../modules/server/CamelMailetContainerModule.java | 22 +++-------------
.../server/CamelMailetContainerModuleTest.java | 4 ---
.../META-INF/org/apache/james/spring-server.xml | 7 ------
server/mailet/mailetcontainer-camel/pom.xml | 4 ---
.../impl/camel/CamelCompositeProcessor.java | 29 +---------------------
.../impl/camel/CamelMailetProcessor.java | 15 +----------
.../impl/camel/MatcherSplitter.java | 7 +-----
.../impl/camel/CamelCompositeProcessorTest.java | 2 --
.../impl/camel/CamelMailetProcessorTest.java | 2 --
12 files changed, 7 insertions(+), 134 deletions(-)
diff --git a/pom.xml b/pom.xml
index 866858c..59082b3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -591,7 +591,6 @@
<activemq.version>5.16.1</activemq.version>
<apache-mime4j.version>0.8.4</apache-mime4j.version>
<apache.openjpa.version>3.1.2</apache.openjpa.version>
- <camel.version>3.8.0</camel.version>
<derby.version>10.14.2.0</derby.version>
<log4j2.version>2.14.0</log4j2.version>
<javax.inject.version>1</javax.inject.version>
@@ -2384,27 +2383,6 @@
<version>1.4</version>
</dependency>
<dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-core</artifactId>
- <version>${camel.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-spring</artifactId>
- <version>${camel.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-web</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-support</artifactId>
- <version>${camel.version}</version>
- </dependency>
- <dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.4</version>
@@ -3158,7 +3136,6 @@
<exclude>.*/**/*</exclude>
<!-- Schemas for offline use -->
<exclude>**/META-INF/XSD/activemq-core-*.xsd</exclude>
- <exclude>**/META-INF/XSD/camel-spring-*.xsd</exclude>
<exclude>**/META-INF/XSD/spring-beans-*.xsd</exclude>
</excludes>
</configuration>
diff --git a/server/apps/spring-app/pom.xml b/server/apps/spring-app/pom.xml
index a794c7b..1fd573f 100644
--- a/server/apps/spring-app/pom.xml
+++ b/server/apps/spring-app/pom.xml
@@ -509,28 +509,6 @@
<artifactId>commons-daemon</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-core</artifactId>
- <scope>runtime</scope>
- <exclusions>
- <exclusion>
- <groupId>com.sun</groupId>
- <artifactId>tools</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-spring</artifactId>
- <scope>runtime</scope>
- <exclusions>
- <exclusion>
- <groupId>com.sun</groupId>
- <artifactId>tools</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<scope>runtime</scope>
diff --git a/server/container/guice/mailet/pom.xml b/server/container/guice/mailet/pom.xml
index 1e349f7..d290fea 100644
--- a/server/container/guice/mailet/pom.xml
+++ b/server/container/guice/mailet/pom.xml
@@ -85,10 +85,6 @@
<artifactId>guice</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-support</artifactId>
- </dependency>
- <dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<scope>test</scope>
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 844667e..ebf1390 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
@@ -26,8 +26,6 @@ import java.util.Set;
import java.util.function.Predicate;
import java.util.stream.Stream;
-import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.support.SimpleRegistry;
import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
import org.apache.commons.configuration2.HierarchicalConfiguration;
import org.apache.commons.configuration2.ex.ConfigurationException;
@@ -115,15 +113,6 @@ public class CamelMailetContainerModule extends AbstractModule {
transportProcessorChecks.addBinding().toInstance(BCC_Check);
}
- @Singleton
- @Provides
- public DefaultCamelContext provideCamelContext() {
- DefaultCamelContext camelContext = new DefaultCamelContext();
- camelContext.disableJMX();
- camelContext.setRegistry(new SimpleRegistry());
- return camelContext;
- }
-
@Provides
@Singleton
public JamesMailSpooler.Configuration spoolerConfiguration(MailRepositoryStore mailRepositoryStore, ConfigurationProvider configurationProvider) {
@@ -165,34 +154,31 @@ public class CamelMailetContainerModule extends AbstractModule {
private final CamelCompositeProcessor camelCompositeProcessor;
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, JamesMailSpooler jamesMailSpooler, JamesMailSpooler.Configuration spoolerConfiguration) {
+ 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
public void initModule() throws Exception {
- configureProcessors(camelContext);
+ configureProcessors();
checkProcessors();
}
- private void configureProcessors(DefaultCamelContext camelContext) throws Exception {
- camelCompositeProcessor.setCamelContext(camelContext);
+ private void configureProcessors() throws Exception {
camelCompositeProcessor.configure(getProcessorConfiguration());
camelCompositeProcessor.init();
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 d743302..cfd3fae 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
@@ -27,7 +27,6 @@ import static org.mockito.Mockito.when;
import java.io.ByteArrayInputStream;
import java.nio.charset.StandardCharsets;
-import org.apache.camel.impl.DefaultCamelContext;
import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
import org.apache.commons.configuration2.HierarchicalConfiguration;
import org.apache.commons.configuration2.XMLConfiguration;
@@ -104,7 +103,6 @@ class CamelMailetContainerModuleTest {
mock(CamelCompositeProcessor.class),
NO_TRANSPORT_CHECKS,
() -> defaultConfiguration,
- mock(DefaultCamelContext.class),
mock(JamesMailSpooler.class),
mock(JamesMailSpooler.Configuration.class));
@@ -122,7 +120,6 @@ class CamelMailetContainerModuleTest {
mock(CamelCompositeProcessor.class),
NO_TRANSPORT_CHECKS,
mock(CamelMailetContainerModule.DefaultProcessorsConfigurationSupplier.class),
- mock(DefaultCamelContext.class),
mock(JamesMailSpooler.class),
mock(JamesMailSpooler.Configuration.class));
@@ -146,7 +143,6 @@ class CamelMailetContainerModuleTest {
mock(CamelCompositeProcessor.class),
NO_TRANSPORT_CHECKS,
mock(CamelMailetContainerModule.DefaultProcessorsConfigurationSupplier.class),
- mock(DefaultCamelContext.class),
mock(JamesMailSpooler.class),
mock(JamesMailSpooler.Configuration.class));
diff --git a/server/container/spring/src/main/resources/META-INF/org/apache/james/spring-server.xml b/server/container/spring/src/main/resources/META-INF/org/apache/james/spring-server.xml
index a4fae9d..4d4168f 100644
--- a/server/container/spring/src/main/resources/META-INF/org/apache/james/spring-server.xml
+++ b/server/container/spring/src/main/resources/META-INF/org/apache/james/spring-server.xml
@@ -20,11 +20,9 @@
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:camel="http://camel.apache.org/schema/spring"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
- http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
@@ -81,11 +79,6 @@
<!-- Mailet Container -->
<import resource="classpath:META-INF/spring/mailetcontainer-context.xml"/>
- <!-- Camel Context -->
- <camel:camelContext id="jamesCamelContext" trace="false">
- <camel:jmxAgent id="agent" disabled="false"/>
- </camel:camelContext>
-
<!-- DNS Service -->
<import resource="classpath:META-INF/spring/dns-context.xml"/>
diff --git a/server/mailet/mailetcontainer-camel/pom.xml b/server/mailet/mailetcontainer-camel/pom.xml
index 5cdaa67..611e78b 100644
--- a/server/mailet/mailetcontainer-camel/pom.xml
+++ b/server/mailet/mailetcontainer-camel/pom.xml
@@ -132,10 +132,6 @@
<artifactId>jaxb-api</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-core</artifactId>
- </dependency>
- <dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-configuration2</artifactId>
</dependency>
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessor.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessor.java
index 88107a1..53394c2 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessor.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessor.java
@@ -20,11 +20,8 @@
package org.apache.james.mailetcontainer.impl.camel;
import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
import javax.inject.Inject;
-import org.apache.camel.CamelContext;
-import org.apache.camel.CamelContextAware;
import org.apache.commons.configuration2.HierarchicalConfiguration;
import org.apache.commons.configuration2.tree.ImmutableNode;
import org.apache.james.mailetcontainer.api.MailProcessor;
@@ -42,13 +39,12 @@ import org.apache.mailet.MailetContext;
* It also offer the {@link AbstractStateCompositeProcessor} implementation
* which allow to inject {@link Mail} into the routes.
*/
-public class CamelCompositeProcessor extends AbstractStateCompositeProcessor implements CamelContextAware {
+public class CamelCompositeProcessor extends AbstractStateCompositeProcessor {
private final MetricFactory metricFactory;
private final MailetContext mailetContext;
private final MatcherLoader matcherLoader;
private final MailetLoader mailetLoader;
- private CamelContext camelContext;
@Inject
CamelCompositeProcessor(MetricFactory metricFactory, MailetContext mailetContext, MatcherLoader matcherLoader, MailetLoader mailetLoader) {
@@ -61,36 +57,13 @@ public class CamelCompositeProcessor extends AbstractStateCompositeProcessor imp
@Override
@PostConstruct
public void init() throws Exception {
- // Make sure the camel context get started
- // See https://issues.apache.org/jira/browse/JAMES-1069
- if (getCamelContext().getStatus().isStopped()) {
- getCamelContext().start();
- }
super.init();
}
- @PreDestroy
- public void destroy() throws Exception {
- if (getCamelContext().getStatus().isStarted()) {
- getCamelContext().stop();
- }
- }
-
- @Override
- public CamelContext getCamelContext() {
- return camelContext;
- }
-
- @Override
- public void setCamelContext(CamelContext camelContext) {
- this.camelContext = camelContext;
- }
-
@Override
protected MailProcessor createMailProcessor(String name, HierarchicalConfiguration<ImmutableNode> config) throws Exception {
CamelMailetProcessor processor = new CamelMailetProcessor(metricFactory);
try {
- processor.setCamelContext(camelContext);
processor.setMailetContext(mailetContext);
processor.setMailetLoader(mailetLoader);
processor.setMatcherLoader(matcherLoader);
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelMailetProcessor.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelMailetProcessor.java
index 4ae2905..adeda11 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelMailetProcessor.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelMailetProcessor.java
@@ -28,8 +28,6 @@ import java.util.stream.Stream;
import javax.annotation.PostConstruct;
import javax.mail.MessagingException;
-import org.apache.camel.CamelContext;
-import org.apache.camel.CamelContextAware;
import org.apache.commons.lang3.NotImplementedException;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.james.lifecycle.api.LifecycleUtil;
@@ -51,7 +49,7 @@ import com.google.common.collect.ImmutableSet;
* {@link org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor} implementation which use Camel DSL for
* the {@link Matcher} / {@link Mailet} routing
*/
-public class CamelMailetProcessor extends AbstractStateMailetProcessor implements CamelContextAware {
+public class CamelMailetProcessor extends AbstractStateMailetProcessor {
private static class ProcessingStep {
private static class Builder {
@FunctionalInterface
@@ -118,7 +116,6 @@ public class CamelMailetProcessor extends AbstractStateMailetProcessor implement
private static final Logger LOGGER = LoggerFactory.getLogger(CamelMailetProcessor.class);
private final MetricFactory metricFactory;
- private CamelContext context;
private List<MatcherMailetPair> pairs;
private Map<MatcherSplitter, CamelProcessor> pairsToBeProcessed;
@@ -177,16 +174,6 @@ public class CamelMailetProcessor extends AbstractStateMailetProcessor implement
.encountered(afterMatching);
}
- @Override
- public CamelContext getCamelContext() {
- return context;
- }
-
- @Override
- public void setCamelContext(CamelContext context) {
- this.context = context;
- }
-
public List<MatcherMailetPair> getPairs() {
return ImmutableList.copyOf(pairs);
}
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/MatcherSplitter.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/MatcherSplitter.java
index dcbc5df..cc534e7 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/MatcherSplitter.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/MatcherSplitter.java
@@ -28,9 +28,6 @@ import java.util.Optional;
import javax.mail.MessagingException;
-import org.apache.camel.Body;
-import org.apache.camel.Handler;
-import org.apache.camel.InOnly;
import org.apache.james.core.MailAddress;
import org.apache.james.mailetcontainer.impl.MatcherMailetPair;
import org.apache.james.mailetcontainer.impl.ProcessorUtil;
@@ -53,7 +50,6 @@ import com.google.common.collect.ImmutableList;
* A Splitter for use with Camel to split the MailMessage into many pieces if
* needed. This is done by use a Matcher.
*/
-@InOnly
public class MatcherSplitter {
private static final Logger LOGGER = LoggerFactory.getLogger(MatcherSplitter.class);
@@ -83,8 +79,7 @@ public class MatcherSplitter {
* Mail which is stored in the @Body of the MailMessage
* @return mailMessageList
*/
- @Handler
- public List<Mail> split(@Body Mail mail) throws MessagingException {
+ public List<Mail> split(Mail mail) throws MessagingException {
Collection<MailAddress> matchedRcpts = null;
Collection<MailAddress> origRcpts = new ArrayList<>(mail.getRecipients());
long start = System.currentTimeMillis();
diff --git a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessorTest.java b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessorTest.java
index 494dceb..1f6f954 100644
--- a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessorTest.java
+++ b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessorTest.java
@@ -18,7 +18,6 @@
****************************************************************/
package org.apache.james.mailetcontainer.impl.camel;
-import org.apache.camel.impl.DefaultCamelContext;
import org.apache.commons.configuration2.HierarchicalConfiguration;
import org.apache.commons.configuration2.tree.ImmutableNode;
import org.apache.james.mailetcontainer.api.mock.MockMailetLoader;
@@ -37,7 +36,6 @@ public class CamelCompositeProcessorTest extends AbstractStateCompositeProcessor
new MockMatcherLoader(),
new MockMailetLoader());
try {
- processor.setCamelContext(new DefaultCamelContext());
processor.configure(config);
processor.init();
return processor;
diff --git a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelMailetProcessorTest.java b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelMailetProcessorTest.java
index a962dfd..f083e30 100644
--- a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelMailetProcessorTest.java
+++ b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelMailetProcessorTest.java
@@ -21,7 +21,6 @@ package org.apache.james.mailetcontainer.impl.camel;
import static org.mockito.Mockito.mock;
-import org.apache.camel.impl.DefaultCamelContext;
import org.apache.commons.configuration2.HierarchicalConfiguration;
import org.apache.commons.configuration2.tree.ImmutableNode;
import org.apache.james.mailetcontainer.api.MailProcessor;
@@ -39,7 +38,6 @@ public class CamelMailetProcessorTest extends AbstractStateMailetProcessorTest {
CamelMailetProcessor processor = null;
try {
processor = new CamelMailetProcessor(new RecordingMetricFactory());
- processor.setCamelContext(new DefaultCamelContext());
processor.setMailetContext(FakeMailContext.defaultContext());
processor.setMailetLoader(new MockMailetLoader());
processor.setMatcherLoader(new MockMatcherLoader());
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org