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-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org