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 ro...@apache.org on 2018/12/19 11:01:16 UTC
[2/2] james-project git commit: JAMES-2470 implement cleanup tasks as
a @PreDestroy component
JAMES-2470 implement cleanup tasks as a @PreDestroy component
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/c51ae8ff
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/c51ae8ff
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/c51ae8ff
Branch: refs/heads/master
Commit: c51ae8fff4e4551ac4dae944dcfb585d98c421d6
Parents: 3b223d5
Author: Matthieu Baechler <ma...@apache.org>
Authored: Mon Nov 19 17:07:31 2018 +0100
Committer: Matthieu Baechler <ma...@apache.org>
Committed: Wed Dec 19 09:53:14 2018 +0100
----------------------------------------------------------------------
.../james/mpt/smtp/CassandraRabbitMQSwiftSmtpTestRule.java | 4 +++-
.../src/test/java/org/apache/james/CassandraJmapTestRule.java | 1 +
.../org/apache/james/CassandraRabbitMQSwiftJmapTestRule.java | 1 +
.../src/main/java/org/apache/james/CleanupTasksPerformer.java | 2 ++
.../src/main/java/org/apache/james/GuiceJamesServer.java | 3 ---
.../test/java/org/apache/james/JamesServerExtensionBuilder.java | 5 ++++-
.../apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java | 3 ++-
.../apache/james/jmap/rabbitmq/cucumber/RabbitMQStepdefs.java | 3 ++-
.../james/webadmin/integration/CassandraJmapExtension.java | 4 +++-
9 files changed, 18 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/c51ae8ff/mpt/impl/smtp/cassandra-rabbitmq-swift/src/test/java/org/apache/james/mpt/smtp/CassandraRabbitMQSwiftSmtpTestRule.java
----------------------------------------------------------------------
diff --git a/mpt/impl/smtp/cassandra-rabbitmq-swift/src/test/java/org/apache/james/mpt/smtp/CassandraRabbitMQSwiftSmtpTestRule.java b/mpt/impl/smtp/cassandra-rabbitmq-swift/src/test/java/org/apache/james/mpt/smtp/CassandraRabbitMQSwiftSmtpTestRule.java
index 71d6dd9..2f6c3a2 100644
--- a/mpt/impl/smtp/cassandra-rabbitmq-swift/src/test/java/org/apache/james/mpt/smtp/CassandraRabbitMQSwiftSmtpTestRule.java
+++ b/mpt/impl/smtp/cassandra-rabbitmq-swift/src/test/java/org/apache/james/mpt/smtp/CassandraRabbitMQSwiftSmtpTestRule.java
@@ -23,6 +23,7 @@ import java.util.function.Function;
import org.apache.commons.configuration.DefaultConfigurationBuilder;
import org.apache.james.CassandraJamesServerMain;
+import org.apache.james.CleanupTasksPerformer;
import org.apache.james.GuiceJamesServer;
import org.apache.james.backend.rabbitmq.DockerRabbitMQSingleton;
import org.apache.james.backends.cassandra.init.configuration.ClusterConfiguration;
@@ -169,7 +170,8 @@ public class CassandraRabbitMQSwiftSmtpTestRule implements TestRule, SmtpHostSys
.keyspace("testing")
.replicationFactor(1)
.build()),
- binder -> binder.bind(DNSService.class).toInstance(inMemoryDNSService));
+ binder -> binder.bind(DNSService.class).toInstance(inMemoryDNSService))
+ .overrideWith((binder -> binder.bind(CleanupTasksPerformer.class).asEagerSingleton()));
}
private void createSessionFactory() {
http://git-wip-us.apache.org/repos/asf/james-project/blob/c51ae8ff/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraJmapTestRule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraJmapTestRule.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraJmapTestRule.java
index 962f6a6..120ed3b 100644
--- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraJmapTestRule.java
+++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraJmapTestRule.java
@@ -67,6 +67,7 @@ public class CassandraJmapTestRule implements TestRule {
.overrideWith(new TestJMAPServerModule(LIMIT_TO_10_MESSAGES))
.overrideWith(new TestESMetricReporterModule())
.overrideWith(guiceModuleTestRule.getModule())
+ .overrideWith((binder -> binder.bind(CleanupTasksPerformer.class).asEagerSingleton()))
.overrideWith(additionals);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/c51ae8ff/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQSwiftJmapTestRule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQSwiftJmapTestRule.java b/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQSwiftJmapTestRule.java
index b38851a..1f988ad 100644
--- a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQSwiftJmapTestRule.java
+++ b/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQSwiftJmapTestRule.java
@@ -70,6 +70,7 @@ public class CassandraRabbitMQSwiftJmapTestRule implements TestRule {
.overrideWith(new TestJMAPServerModule(LIMIT_TO_10_MESSAGES))
.overrideWith(new TestESMetricReporterModule())
.overrideWith(guiceModuleTestRule.getModule())
+ .overrideWith((binder -> binder.bind(CleanupTasksPerformer.class).asEagerSingleton()))
.overrideWith(additionals);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/c51ae8ff/server/container/guice/guice-common/src/main/java/org/apache/james/CleanupTasksPerformer.java
----------------------------------------------------------------------
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/CleanupTasksPerformer.java b/server/container/guice/guice-common/src/main/java/org/apache/james/CleanupTasksPerformer.java
index 56772ac..c9e8396 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/CleanupTasksPerformer.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/CleanupTasksPerformer.java
@@ -21,6 +21,7 @@ package org.apache.james;
import java.util.Set;
+import javax.annotation.PreDestroy;
import javax.inject.Inject;
import org.apache.james.task.Task;
@@ -41,6 +42,7 @@ public class CleanupTasksPerformer {
this.cleanupTasks = cleanupTasks;
}
+ @PreDestroy
public void clean() {
Runnables
.runParallel(
http://git-wip-us.apache.org/repos/asf/james-project/blob/c51ae8ff/server/container/guice/guice-common/src/main/java/org/apache/james/GuiceJamesServer.java
----------------------------------------------------------------------
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/GuiceJamesServer.java b/server/container/guice/guice-common/src/main/java/org/apache/james/GuiceJamesServer.java
index fa37195..74c7c64 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/GuiceJamesServer.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/GuiceJamesServer.java
@@ -20,7 +20,6 @@ package org.apache.james;
import java.util.Arrays;
import java.util.List;
-import java.util.Optional;
import javax.annotation.PreDestroy;
@@ -82,13 +81,11 @@ public class GuiceJamesServer {
preDestroy = injector.getInstance(Key.get(new TypeLiteral<Stager<PreDestroy>>() {}));
injector.getInstance(ConfigurationsPerformer.class).initModules();
guiceProbeProvider = injector.getInstance(GuiceProbeProvider.class);
- cleanupTasksPerformer = injector.getInstance(CleanupTasksPerformer.class);
isStartedProbe.notifyStarted();
}
public void stop() {
isStartedProbe.notifyStoped();
- Optional.ofNullable(cleanupTasksPerformer).ifPresent(CleanupTasksPerformer::clean);
if (preDestroy != null) {
preDestroy.stage();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/c51ae8ff/server/container/guice/guice-common/src/test/java/org/apache/james/JamesServerExtensionBuilder.java
----------------------------------------------------------------------
diff --git a/server/container/guice/guice-common/src/test/java/org/apache/james/JamesServerExtensionBuilder.java b/server/container/guice/guice-common/src/test/java/org/apache/james/JamesServerExtensionBuilder.java
index 8d521c0..1dbee14 100644
--- a/server/container/guice/guice-common/src/test/java/org/apache/james/JamesServerExtensionBuilder.java
+++ b/server/container/guice/guice-common/src/test/java/org/apache/james/JamesServerExtensionBuilder.java
@@ -112,7 +112,10 @@ public class JamesServerExtensionBuilder {
.map(GuiceModuleTestExtension::getModule)
.collect(Guavate.toImmutableList());
- return server.buildServer(configurationProvider.buildConfiguration(file)).overrideWith(modules);
+ return server
+ .buildServer(configurationProvider.buildConfiguration(file))
+ .overrideWith(modules)
+ .overrideWith((binder -> binder.bind(CleanupTasksPerformer.class).asEagerSingleton()));
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/c51ae8ff/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java
index cf5da77..4cb6304 100644
--- a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java
+++ b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java
@@ -84,7 +84,8 @@ public class CassandraStepdefs {
.overrideWith(cassandraServer.getModule())
.overrideWith(binder -> binder.bind(TextExtractor.class).to(DefaultTextExtractor.class))
.overrideWith((binder) -> binder.bind(PersistenceAdapter.class).to(MemoryPersistenceAdapter.class))
- .overrideWith(binder -> Multibinder.newSetBinder(binder, CleanupTasksPerformer.CleanupTask.class).addBinding().to(CassandraTruncateTableTask.class));
+ .overrideWith(binder -> Multibinder.newSetBinder(binder, CleanupTasksPerformer.CleanupTask.class).addBinding().to(CassandraTruncateTableTask.class))
+ .overrideWith((binder -> binder.bind(CleanupTasksPerformer.class).asEagerSingleton()));
mainStepdefs.awaitMethod = () -> embeddedElasticSearch.awaitForElasticSearch();
mainStepdefs.init();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/c51ae8ff/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/RabbitMQStepdefs.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/RabbitMQStepdefs.java b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/RabbitMQStepdefs.java
index 83cbab3..027f793 100644
--- a/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/RabbitMQStepdefs.java
+++ b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/RabbitMQStepdefs.java
@@ -94,7 +94,8 @@ public class RabbitMQStepdefs {
.overrideWith(cassandraServer.getModule())
.overrideWith(binder -> binder.bind(TextExtractor.class).to(DefaultTextExtractor.class))
.overrideWith((binder) -> binder.bind(PersistenceAdapter.class).to(MemoryPersistenceAdapter.class))
- .overrideWith(binder -> Multibinder.newSetBinder(binder, CleanupTasksPerformer.CleanupTask.class).addBinding().to(CassandraTruncateTableTask.class));
+ .overrideWith(binder -> Multibinder.newSetBinder(binder, CleanupTasksPerformer.CleanupTask.class).addBinding().to(CassandraTruncateTableTask.class))
+ .overrideWith((binder -> binder.bind(CleanupTasksPerformer.class).asEagerSingleton()));
mainStepdefs.awaitMethod = () -> embeddedElasticSearch.awaitForElasticSearch();
mainStepdefs.init();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/c51ae8ff/server/protocols/webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/CassandraJmapExtension.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/CassandraJmapExtension.java b/server/protocols/webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/CassandraJmapExtension.java
index 20ffeff..56ea367 100644
--- a/server/protocols/webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/CassandraJmapExtension.java
+++ b/server/protocols/webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/CassandraJmapExtension.java
@@ -22,6 +22,7 @@ import static org.apache.james.CassandraJamesServerMain.ALL_BUT_JMX_CASSANDRA_MO
import java.io.IOException;
+import org.apache.james.CleanupTasksPerformer;
import org.apache.james.DockerCassandraRule;
import org.apache.james.GuiceJamesServer;
import org.apache.james.backends.es.EmbeddedElasticSearch;
@@ -70,7 +71,8 @@ public class CassandraJmapExtension implements BeforeAllCallback, AfterAllCallba
.overrideWith(cassandra.getModule())
.overrideWith(new TestElasticSearchModule(elasticSearch))
.overrideWith(new WebAdminConfigurationModule())
- .overrideWith(new UnauthorizedModule());
+ .overrideWith(new UnauthorizedModule())
+ .overrideWith((binder -> binder.bind(CleanupTasksPerformer.class).asEagerSingleton()));
}
@Override
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org