JAMES-2551 James server should rely on SimpleChannelPool
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/87992d32 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/87992d32 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/87992d32 Branch: refs/heads/master Commit: 87992d32e8a993504cb830d5876214278a2597c6 Parents: 3efce9c Author: Benoit Tellier <[email protected]> Authored: Thu Oct 4 16:39:45 2018 +0700 Committer: Antoine Duprat <[email protected]> Committed: Wed Oct 31 17:56:16 2018 +0100 ---------------------------------------------------------------------- .../org/apache/james/backend/rabbitmq/SimpleChannelPool.java | 2 ++ .../java/org/apache/james/modules/rabbitmq/RabbitMQModule.java | 5 +++++ 2 files changed, 7 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/87992d32/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/SimpleChannelPool.java ---------------------------------------------------------------------- diff --git a/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/SimpleChannelPool.java b/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/SimpleChannelPool.java index 31d8530..e708118 100644 --- a/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/SimpleChannelPool.java +++ b/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/SimpleChannelPool.java @@ -23,6 +23,7 @@ import java.util.Optional; import java.util.concurrent.atomic.AtomicReference; import javax.annotation.PreDestroy; +import javax.inject.Inject; import com.github.fge.lambdas.Throwing; import com.rabbitmq.client.Channel; @@ -33,6 +34,7 @@ public class SimpleChannelPool implements RabbitMQChannelPool { private final AtomicReference<Connection> connectionReference; private final RabbitMQConnectionFactory connectionFactory; + @Inject public SimpleChannelPool(RabbitMQConnectionFactory factory) { this.connectionFactory = factory; this.connectionReference = new AtomicReference<>(); http://git-wip-us.apache.org/repos/asf/james-project/blob/87992d32/server/container/guice/rabbitmq/src/main/java/org/apache/james/modules/rabbitmq/RabbitMQModule.java ---------------------------------------------------------------------- diff --git a/server/container/guice/rabbitmq/src/main/java/org/apache/james/modules/rabbitmq/RabbitMQModule.java b/server/container/guice/rabbitmq/src/main/java/org/apache/james/modules/rabbitmq/RabbitMQModule.java index 15f9c42..3a04488 100644 --- a/server/container/guice/rabbitmq/src/main/java/org/apache/james/modules/rabbitmq/RabbitMQModule.java +++ b/server/container/guice/rabbitmq/src/main/java/org/apache/james/modules/rabbitmq/RabbitMQModule.java @@ -27,7 +27,9 @@ import javax.inject.Singleton; import org.apache.commons.configuration.Configuration; import org.apache.commons.configuration.ConfigurationException; +import org.apache.james.backend.rabbitmq.RabbitMQChannelPool; import org.apache.james.backend.rabbitmq.RabbitMQConfiguration; +import org.apache.james.backend.rabbitmq.SimpleChannelPool; import org.apache.james.backends.cassandra.components.CassandraModule; import org.apache.james.eventsourcing.eventstore.cassandra.dto.EventDTOModule; import org.apache.james.queue.api.MailQueueFactory; @@ -77,6 +79,9 @@ public class RabbitMQModule extends AbstractModule { bind(CassandraMailQueueMailDelete.class).in(Scopes.SINGLETON); bind(CassandraMailQueueMailStore.class).in(Scopes.SINGLETON); + bind(SimpleChannelPool.class).in(Scopes.SINGLETON); + bind(RabbitMQChannelPool.class).to(SimpleChannelPool.class); + Multibinder<CassandraModule> cassandraModuleBinder = Multibinder.newSetBinder(binder(), CassandraModule.class); cassandraModuleBinder.addBinding().toInstance(CassandraMailQueueViewModule.MODULE); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
