JAMES-2544 ensure rabbitFlux is closed

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

Branch: refs/heads/master
Commit: 968c5d278db7735be9cb2cc829affb6826edc79b
Parents: e4194fd
Author: Matthieu Baechler <[email protected]>
Authored: Thu Dec 20 16:36:43 2018 +0100
Committer: Matthieu Baechler <[email protected]>
Committed: Wed Feb 6 10:07:09 2019 +0100

----------------------------------------------------------------------
 .../apache/james/backend/rabbitmq/SimpleChannelPool.java  | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/968c5d27/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 0de3603..b5819e3 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
@@ -71,11 +71,17 @@ public class SimpleChannelPool implements 
RabbitMQChannelPool {
     public synchronized void close() {
         Optional.ofNullable(channelReference.get())
             .filter(Channel::isOpen)
-            
.ifPresent(Throwing.<Channel>consumer(Channel::close).sneakyThrow());
+            
.ifPresent(Throwing.<Channel>consumer(Channel::close).orDoNothing());
 
         Optional.ofNullable(connectionReference.get())
             .filter(Connection::isOpen)
-            
.ifPresent(Throwing.<Connection>consumer(Connection::close).sneakyThrow());
+            
.ifPresent(Throwing.<Connection>consumer(Connection::close).orDoNothing());
+
+        try {
+            rabbitFlux.close();
+        } catch (Throwable ignored) {
+            //ignore exception during close
+        }
     }
 
     private Connection getResilientConnection() {


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

Reply via email to