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

Reply via email to