JAMES-2544 remove unused RabbitChannelPoolImpl

Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/df69a82c
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/df69a82c
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/df69a82c

Branch: refs/heads/master
Commit: df69a82c35894b8179d45b7583af9e3fbf3103d3
Parents: 056a999
Author: Matthieu Baechler <[email protected]>
Authored: Mon Dec 10 18:01:57 2018 +0100
Committer: Matthieu Baechler <[email protected]>
Committed: Wed Feb 6 10:07:09 2019 +0100

----------------------------------------------------------------------
 backends-common/rabbitmq/pom.xml                |   5 -
 .../backend/rabbitmq/RabbitChannelPoolImpl.java | 139 -------------------
 2 files changed, 144 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/df69a82c/backends-common/rabbitmq/pom.xml
----------------------------------------------------------------------
diff --git a/backends-common/rabbitmq/pom.xml b/backends-common/rabbitmq/pom.xml
index 40ddbce..994fea7 100644
--- a/backends-common/rabbitmq/pom.xml
+++ b/backends-common/rabbitmq/pom.xml
@@ -66,11 +66,6 @@
             <artifactId>commons-configuration</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-pool2</artifactId>
-            <version>2.6.0</version>
-        </dependency>
-        <dependency>
             <groupId>io.github.openfeign</groupId>
             <artifactId>feign-core</artifactId>
             <version>${feign.version}</version>

http://git-wip-us.apache.org/repos/asf/james-project/blob/df69a82c/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/RabbitChannelPoolImpl.java
----------------------------------------------------------------------
diff --git 
a/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/RabbitChannelPoolImpl.java
 
b/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/RabbitChannelPoolImpl.java
deleted file mode 100644
index 9a5be46..0000000
--- 
a/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/RabbitChannelPoolImpl.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one   *
- * or more contributor license agreements.  See the NOTICE file *
- * distributed with this work for additional information        *
- * regarding copyright ownership.  The ASF licenses this file   *
- * to you under the Apache License, Version 2.0 (the            *
- * "License"); you may not use this file except in compliance   *
- * with the License.  You may obtain a copy of the License at   *
- *                                                              *
- *   http://www.apache.org/licenses/LICENSE-2.0                 *
- *                                                              *
- * Unless required by applicable law or agreed to in writing,   *
- * software distributed under the License is distributed on an  *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
- * KIND, either express or implied.  See the License for the    *
- * specific language governing permissions and limitations      *
- * under the License.                                           *
- ****************************************************************/
-
-package org.apache.james.backend.rabbitmq;
-
-import java.io.IOException;
-
-import javax.annotation.PreDestroy;
-import javax.inject.Inject;
-
-import org.apache.commons.pool2.BasePooledObjectFactory;
-import org.apache.commons.pool2.ObjectPool;
-import org.apache.commons.pool2.PooledObject;
-import org.apache.commons.pool2.impl.DefaultPooledObject;
-import org.apache.commons.pool2.impl.GenericObjectPool;
-import org.apache.james.util.MemoizedSupplier;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.github.fge.lambdas.Throwing;
-import com.rabbitmq.client.Channel;
-import com.rabbitmq.client.Connection;
-
-public class RabbitChannelPoolImpl implements RabbitMQChannelPool {
-
-    private static final Logger LOGGER = 
LoggerFactory.getLogger(RabbitChannelPoolImpl.class);
-
-    private static class ChannelBasePooledObjectFactory extends 
BasePooledObjectFactory<Channel> {
-        private final MemoizedSupplier<Connection> rabbitConnectionSupplier;
-
-        public ChannelBasePooledObjectFactory(RabbitMQConnectionFactory 
factory) {
-            this.rabbitConnectionSupplier = MemoizedSupplier.of(
-                    Throwing.supplier(factory::create).sneakyThrow());
-        }
-
-        @Override
-        public Channel create() throws Exception {
-            return rabbitConnectionSupplier.get()
-                    .createChannel();
-        }
-
-        @Override
-        public PooledObject<Channel> wrap(Channel obj) {
-            return new DefaultPooledObject<>(obj);
-        }
-
-        @Override
-        public void destroyObject(PooledObject<Channel> pooledObject) throws 
Exception {
-            Channel channel = pooledObject.getObject();
-            if (channel.isOpen()) {
-                channel.close();
-            }
-        }
-
-        private void closeRabbitConnectionIfInitialized() {
-            rabbitConnectionSupplier.ifInitialized(
-                Throwing.consumer(this::closeRabbitConnection).sneakyThrow());
-        }
-
-        private void closeRabbitConnection(Connection connection) throws 
IOException {
-            if (connection.isOpen()) {
-                connection.close();
-            }
-        }
-    }
-
-    private final ObjectPool<Channel> pool;
-    private final ChannelBasePooledObjectFactory pooledChannelsFactory;
-
-    @Inject
-    public RabbitChannelPoolImpl(RabbitMQConnectionFactory factory) {
-        pooledChannelsFactory = new ChannelBasePooledObjectFactory(factory);
-        pool = new GenericObjectPool<>(pooledChannelsFactory);
-    }
-
-    @Override
-    public <T, E extends Throwable> T execute(RabbitFunction<T, E> f) throws 
E, ConnectionFailedException {
-        Channel channel = borrowChannel();
-        try {
-            return f.execute(channel);
-        } finally {
-            returnChannel(channel);
-        }
-    }
-
-    @Override
-    public <E extends Throwable> void execute(RabbitConsumer<E> f) throws E, 
ConnectionFailedException {
-        Channel channel = borrowChannel();
-        try {
-            f.execute(channel);
-        } finally {
-            returnChannel(channel);
-        }
-    }
-
-    @PreDestroy
-    @Override
-    public void close() {
-        try {
-            pool.close();
-            pooledChannelsFactory.closeRabbitConnectionIfInitialized();
-        } catch (Exception e) {
-            LOGGER.error("error while closing rabbit channels & connections", 
e);
-        }
-    }
-
-    private Channel borrowChannel() {
-        try {
-            return pool.borrowObject();
-        } catch (Exception e) {
-            throw new ConnectionFailedException(e);
-        }
-    }
-
-    private void returnChannel(Channel channel) {
-        try {
-            pool.returnObject(channel);
-        } catch (Exception ignore) {
-            //ignore when return is failing
-        }
-    }
-
-}


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to