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 ma...@apache.org on 2015/11/03 17:47:33 UTC

svn commit: r1712330 - in /james/project/trunk/server: container/cassandra-guice/src/main/java/org/apache/james/ container/cassandra-guice/src/main/java/org/apache/james/modules/server/ protocols/protocols-library/src/main/java/org/apache/james/protoco...

Author: matthieu
Date: Tue Nov  3 16:47:33 2015
New Revision: 1712330

URL: http://svn.apache.org/viewvc?rev=1712330&view=rev
Log:
JAMES-1626 Use Onami for lifecycle management (JSR 250 @PreDestroy @PostConstruct)

Added:
    james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/ConfigurationPerformerModule.java
Modified:
    james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java
    james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
    james/project/trunk/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractConnectHandlerResultJMXMonitor.java
    james/project/trunk/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SendMailHandler.java

Modified: james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java
URL: http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java?rev=1712330&r1=1712329&r2=1712330&view=diff
==============================================================================
--- james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java (original)
+++ james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java Tue Nov  3 16:47:33 2015
@@ -19,25 +19,30 @@
 package org.apache.james;
 
 import org.apache.james.utils.ConfigurationsPerformer;
+import org.apache.onami.lifecycle.jsr250.PreDestroyModule;
 
 import com.google.inject.Guice;
 import com.google.inject.Injector;
 import com.google.inject.Module;
+import com.google.inject.util.Modules;
 
 public class CassandraJamesServer {
 
     private final Module serverModule;
+    private final PreDestroyModule preDestroyModule;
 
     public CassandraJamesServer(Module serverModule) {
         this.serverModule = serverModule;
+        this.preDestroyModule = new PreDestroyModule();
     }
 
     public void start() throws Exception {
-        Injector injector = Guice.createInjector(serverModule);
+        Injector injector = Guice.createInjector(Modules.combine(serverModule, preDestroyModule));
         injector.getInstance(ConfigurationsPerformer.class).initModules();
     }
 
     public void stop() {
+        preDestroyModule.getStager().stage();
     }
 
 }

Modified: james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
URL: http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java?rev=1712330&r1=1712329&r2=1712330&view=diff
==============================================================================
--- james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java (original)
+++ james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java Tue Nov  3 16:47:33 2015
@@ -24,6 +24,7 @@ import org.apache.james.modules.data.Cas
 import org.apache.james.modules.data.CassandraUsersRepositoryModule;
 import org.apache.james.modules.mailbox.CassandraMailboxModule;
 import org.apache.james.modules.mailbox.CassandraSessionModule;
+import org.apache.james.modules.server.ConfigurationPerformerModule;
 import org.apache.james.modules.server.DNSServiceModule;
 import org.apache.james.modules.server.SimpleMessageSearchModule;
 
@@ -32,13 +33,15 @@ import com.google.inject.util.Modules;
 
 public class CassandraJamesServerMain {
 
-    public static final Module defaultModule = Modules.combine(new CassandraMailboxModule(),
-        new CassandraSessionModule(),
-        new SimpleMessageSearchModule(),
-        new CassandraUsersRepositoryModule(),
-        new CassandraDomainListModule(),
-        new CassandraRecipientRewriteTableModule(),
-        new DNSServiceModule());
+    public static final Module defaultModule = Modules.combine(
+            new CassandraMailboxModule(),
+            new ConfigurationPerformerModule(),
+            new CassandraSessionModule(),
+            new SimpleMessageSearchModule(),
+            new CassandraUsersRepositoryModule(),
+            new CassandraDomainListModule(),
+            new CassandraRecipientRewriteTableModule(),
+            new DNSServiceModule());
 
     public static void main(String[] args) throws Exception {
         CassandraJamesServer server = new CassandraJamesServer(defaultModule);

Added: james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/ConfigurationPerformerModule.java
URL: http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/ConfigurationPerformerModule.java?rev=1712330&view=auto
==============================================================================
--- james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/ConfigurationPerformerModule.java (added)
+++ james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/ConfigurationPerformerModule.java Tue Nov  3 16:47:33 2015
@@ -0,0 +1,15 @@
+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);
+    }
+    
+}

Modified: james/project/trunk/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractConnectHandlerResultJMXMonitor.java
URL: http://svn.apache.org/viewvc/james/project/trunk/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractConnectHandlerResultJMXMonitor.java?rev=1712330&r1=1712329&r2=1712330&view=diff
==============================================================================
--- james/project/trunk/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractConnectHandlerResultJMXMonitor.java (original)
+++ james/project/trunk/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractConnectHandlerResultJMXMonitor.java Tue Nov  3 16:47:33 2015
@@ -25,9 +25,13 @@ import java.util.Map;
 
 import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
+import org.apache.james.protocols.api.handler.ConnectHandler;
+import org.apache.james.protocols.api.handler.ExtensibleHandler;
+import org.apache.james.protocols.api.handler.ProtocolHandler;
+import org.apache.james.protocols.api.handler.ProtocolHandlerResultHandler;
+import org.apache.james.protocols.api.handler.WiringException;
 import org.apache.james.protocols.api.ProtocolSession;
 import org.apache.james.protocols.api.Response;
-import org.apache.james.protocols.api.handler.*;
 
 /**
  * Handler which will gather statistics for {@link ConnectHandler}'s

Modified: james/project/trunk/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SendMailHandler.java
URL: http://svn.apache.org/viewvc/james/project/trunk/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SendMailHandler.java?rev=1712330&r1=1712329&r2=1712330&view=diff
==============================================================================
--- james/project/trunk/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SendMailHandler.java (original)
+++ james/project/trunk/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SendMailHandler.java Tue Nov  3 16:47:33 2015
@@ -48,10 +48,6 @@ public class SendMailHandler implements
         this.queueFactory = queueFactory;
     }
 
-    public void init() {
-
-    }
-
     @Override
     public void init(Configuration config) throws ConfigurationException {
         queue = queueFactory.getQueue(MailQueueFactory.SPOOL);



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org