JAMES-1688 Bind Onami PreDestroyModule in Guice
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/15784077 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/15784077 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/15784077 Branch: refs/heads/master Commit: 157840775195c75bc5a4a4eb90c4045bd6698aeb Parents: 340155f Author: Antoine Duprat <antdup...@gmail.com> Authored: Fri Feb 12 14:49:01 2016 +0100 Committer: Matthieu Baechler <matthieu.baech...@gmail.com> Committed: Fri Feb 19 11:55:19 2016 +0100 ---------------------------------------------------------------------- .../java/org/apache/james/CassandraJamesServer.java | 15 +++++++++------ .../org/apache/james/CassandraJamesServerMain.java | 6 +++--- .../modules/server/ConfigurationPerformerModule.java | 15 --------------- 3 files changed, 12 insertions(+), 24 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/15784077/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java ---------------------------------------------------------------------- diff --git a/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java b/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java index 3c4c7d5..45f054b 100644 --- a/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java +++ b/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java @@ -18,38 +18,41 @@ ****************************************************************/ package org.apache.james; +import javax.annotation.PreDestroy; + import org.apache.james.jmap.JMAPServer; import org.apache.james.utils.ConfigurationsPerformer; import org.apache.james.utils.ExtendedServerProbe; import org.apache.james.utils.GuiceServerProbe; -import org.apache.onami.lifecycle.jsr250.PreDestroyModule; +import org.apache.onami.lifecycle.core.Stager; import com.google.inject.Guice; import com.google.inject.Injector; +import com.google.inject.Key; import com.google.inject.Module; -import com.google.inject.util.Modules; +import com.google.inject.TypeLiteral; public class CassandraJamesServer { private final Module serverModule; - private final PreDestroyModule preDestroyModule; + private Stager<PreDestroy> preDestroy; private GuiceServerProbe serverProbe; private int jmapPort; public CassandraJamesServer(Module serverModule) { this.serverModule = serverModule; - this.preDestroyModule = new PreDestroyModule(); } public void start() throws Exception { - Injector injector = Guice.createInjector(Modules.combine(serverModule, preDestroyModule)); + Injector injector = Guice.createInjector(serverModule); injector.getInstance(ConfigurationsPerformer.class).initModules(); + preDestroy = injector.getInstance(Key.get(new TypeLiteral<Stager<PreDestroy>>() {})); serverProbe = injector.getInstance(GuiceServerProbe.class); jmapPort = injector.getInstance(JMAPServer.class).getPort(); } public void stop() { - preDestroyModule.getStager().stage(); + preDestroy.stage(); } public ExtendedServerProbe serverProbe() { http://git-wip-us.apache.org/repos/asf/james-project/blob/15784077/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java ---------------------------------------------------------------------- diff --git a/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java b/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java index 87735d7..fb1b2e6 100644 --- a/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java +++ b/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java @@ -35,13 +35,13 @@ import org.apache.james.modules.protocols.ProtocolHandlerModule; import org.apache.james.modules.protocols.SMTPServerModule; import org.apache.james.modules.server.ActiveMQQueueModule; import org.apache.james.modules.server.CamelMailetContainerModule; -import org.apache.james.modules.server.ConfigurationPerformerModule; import org.apache.james.modules.server.ConfigurationProviderModule; import org.apache.james.modules.server.DNSServiceModule; import org.apache.james.modules.server.JMXServerModule; import org.apache.james.modules.server.MailStoreRepositoryModule; import org.apache.james.modules.server.QuotaModule; import org.apache.james.modules.server.SieveModule; +import org.apache.onami.lifecycle.jsr250.PreDestroyModule; import com.google.inject.Module; import com.google.inject.util.Modules; @@ -50,7 +50,6 @@ public class CassandraJamesServerMain { public static final Module defaultModule = Modules.combine( new CommonServicesModule(), - new ConfigurationPerformerModule(), new CassandraMailboxModule(), new CassandraSessionModule(), new ElasticSearchMailboxModule(), @@ -70,7 +69,8 @@ public class CassandraJamesServerMain { new CamelMailetContainerModule(), new QuotaModule(), new ConfigurationProviderModule(), - new JMAPServerModule()); + new JMAPServerModule(), + new PreDestroyModule()); public static void main(String[] args) throws Exception { CassandraJamesServer server = new CassandraJamesServer(Modules.combine( http://git-wip-us.apache.org/repos/asf/james-project/blob/15784077/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/ConfigurationPerformerModule.java ---------------------------------------------------------------------- diff --git a/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/ConfigurationPerformerModule.java b/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/ConfigurationPerformerModule.java deleted file mode 100644 index 4aab0a6..0000000 --- a/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/ConfigurationPerformerModule.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.apache.james.modules.server; - -import org.apache.james.utils.ConfigurationPerformer; - -import com.google.inject.AbstractModule; -import com.google.inject.multibindings.Multibinder; - -public class ConfigurationPerformerModule extends AbstractModule { - - @Override - protected void configure() { - Multibinder.newSetBinder(binder(), ConfigurationPerformer.class); - } - -} --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org