MAILBOX-374 Configure SpamAssassin only when required This avoid the retry to happen.
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/061fa39f Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/061fa39f Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/061fa39f Branch: refs/heads/master Commit: 061fa39faba2fb57d25d5497f1207b63301a25a2 Parents: 8935b9c Author: Benoit Tellier <[email protected]> Authored: Fri Jan 18 15:42:14 2019 +0700 Committer: Benoit Tellier <[email protected]> Committed: Tue Jan 22 17:07:15 2019 +0700 ---------------------------------------------------------------------- .../spamassassin/SpamAssassinListener.java | 2 +- .../src/test/resources/listeners.xml | 6 ------ .../methods/integration/SpamAssassinModule.java | 20 ++++++++++++++++++-- .../src/test/resources/listeners.xml | 6 ------ .../src/test/resources/listeners.xml | 6 ------ 5 files changed, 19 insertions(+), 21 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/061fa39f/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassinListener.java ---------------------------------------------------------------------- diff --git a/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassinListener.java b/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassinListener.java index 70ce446..1b83028 100644 --- a/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassinListener.java +++ b/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassinListener.java @@ -63,7 +63,7 @@ public class SpamAssassinListener implements SpamEventListener { private final ExecutionMode executionMode; @Inject - SpamAssassinListener(SpamAssassin spamAssassin, SystemMailboxesProvider systemMailboxesProvider, MailboxManager mailboxManager, MailboxSessionMapperFactory mapperFactory, ExecutionMode executionMode) { + public SpamAssassinListener(SpamAssassin spamAssassin, SystemMailboxesProvider systemMailboxesProvider, MailboxManager mailboxManager, MailboxSessionMapperFactory mapperFactory, ExecutionMode executionMode) { this.spamAssassin = spamAssassin; this.systemMailboxesProvider = systemMailboxesProvider; this.mailboxManager = mailboxManager; http://git-wip-us.apache.org/repos/asf/james-project/blob/061fa39f/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/resources/listeners.xml ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/resources/listeners.xml b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/resources/listeners.xml index 9d0f61b..ff2e517 100644 --- a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/resources/listeners.xml +++ b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/resources/listeners.xml @@ -19,12 +19,6 @@ --> <listeners> - <poolSize>8</poolSize> - - <listener> - <class>org.apache.james.mailbox.spamassassin.SpamAssassinListener</class> - <async>false</async> - </listener> <listener> <class>org.apache.james.mailbox.cassandra.MailboxOperationLoggingListener</class> </listener> http://git-wip-us.apache.org/repos/asf/james-project/blob/061fa39f/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SpamAssassinModule.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SpamAssassinModule.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SpamAssassinModule.java index 6f8b6d9..ac8f2a1 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SpamAssassinModule.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SpamAssassinModule.java @@ -23,10 +23,15 @@ import java.util.Optional; import javax.inject.Singleton; import org.apache.commons.configuration.BaseConfiguration; +import org.apache.james.mailbox.MailboxListener; +import org.apache.james.mailbox.MailboxManager; +import org.apache.james.mailbox.SystemMailboxesProvider; +import org.apache.james.mailbox.spamassassin.SpamAssassin; import org.apache.james.mailbox.spamassassin.SpamAssassinConfiguration; +import org.apache.james.mailbox.spamassassin.SpamAssassinListener; +import org.apache.james.mailbox.store.MailboxSessionMapperFactory; import org.apache.james.mailetcontainer.impl.MailetConfigImpl; import org.apache.james.spamassassin.SpamAssassinExtension; -import org.apache.james.spamassassin.SpamAssassinExtension.SpamAssassin; import org.apache.james.util.Host; import org.apache.james.utils.MailetConfigurationOverride; @@ -50,12 +55,23 @@ public class SpamAssassinModule extends AbstractModule { new MailetConfigurationOverride( org.apache.james.transport.mailets.SpamAssassin.class, spamAssassinMailetConfig())); + + Multibinder.newSetBinder(binder(), MailboxListener.GroupMailboxListener.class) + .addBinding() + .to(SpamAssassinListener.class); + } + + @Provides + @Singleton + SpamAssassinListener provideSpamAssassinListener(SpamAssassin spamAssassin, SystemMailboxesProvider systemMailboxesProvider, MailboxManager mailboxManager, MailboxSessionMapperFactory mapperFactory) { + return new SpamAssassinListener(spamAssassin, systemMailboxesProvider, mailboxManager, mapperFactory, + MailboxListener.ExecutionMode.SYNCHRONOUS); } @Provides @Singleton private SpamAssassinConfiguration getSpamAssassinConfiguration() { - SpamAssassin spamAssassin = spamAssassinExtension.getSpamAssassin(); + SpamAssassinExtension.SpamAssassin spamAssassin = spamAssassinExtension.getSpamAssassin(); return new SpamAssassinConfiguration(Optional.of(Host.from(spamAssassin.getIp(), spamAssassin.getBindingPort()))); } http://git-wip-us.apache.org/repos/asf/james-project/blob/061fa39f/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/resources/listeners.xml ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/resources/listeners.xml b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/resources/listeners.xml index 2145b25..59e3fec 100644 --- a/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/resources/listeners.xml +++ b/server/protocols/jmap-integration-testing/memory-jmap-integration-testing/src/test/resources/listeners.xml @@ -19,12 +19,6 @@ --> <listeners> - <poolSize>8</poolSize> - - <listener> - <class>org.apache.james.mailbox.spamassassin.SpamAssassinListener</class> - <async>false</async> - </listener> <listener> <class>org.apache.james.mailbox.quota.mailing.listeners.QuotaThresholdCrossingListener</class> <group>QuotaThresholdCrossingListener-lower-threshold</group> http://git-wip-us.apache.org/repos/asf/james-project/blob/061fa39f/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/resources/listeners.xml ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/resources/listeners.xml b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/resources/listeners.xml index 9d0f61b..ff2e517 100644 --- a/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/resources/listeners.xml +++ b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/resources/listeners.xml @@ -19,12 +19,6 @@ --> <listeners> - <poolSize>8</poolSize> - - <listener> - <class>org.apache.james.mailbox.spamassassin.SpamAssassinListener</class> - <async>false</async> - </listener> <listener> <class>org.apache.james.mailbox.cassandra.MailboxOperationLoggingListener</class> </listener> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
