From 5b6f651d3f2c5b33fa510e120dc0e98f6a95409a Mon Sep 17 00:00:00 2001 From: Keith Wall Date: Thu, 31 Jul 2014 13:51:18 +0000 Subject: QPID-5915: [Java Broker] Guard the case where client and server sides race to close the same connection. This change reuses the approach taken by ConnectionRegistry when the Broker is shutdown. Namely, it logs the failure and continues to allow the Broker to shutdown. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1614893 13f79535-47bb-0310-9956-ffa450edef68 --- .../qpid/server/model/adapter/ConnectionAdapter.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'qpid/java') diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java index f17b67d053..ba2cecedad 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java @@ -27,6 +27,8 @@ import java.util.Map; import java.util.UUID; import java.util.concurrent.atomic.AtomicBoolean; +import org.apache.log4j.Logger; + import org.apache.qpid.protocol.AMQConstant; import org.apache.qpid.server.model.AbstractConfiguredObject; import org.apache.qpid.server.model.ConfiguredObject; @@ -44,6 +46,8 @@ import org.apache.qpid.server.util.Action; public final class ConnectionAdapter extends AbstractConfiguredObject implements Connection, SessionModelListener { + private static final Logger LOGGER = Logger.getLogger(ConnectionAdapter.class); + private final Action _underlyingConnectionDeleteTask; private final AtomicBoolean _underlyingClosed = new AtomicBoolean(false); private AMQConnectionModel _underlyingConnection; @@ -61,6 +65,7 @@ public final class ConnectionAdapter extends AbstractConfiguredObject