diff options
3 files changed, 8 insertions, 1 deletions
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java index 1f61e0d218..23b47c8d67 100644 --- a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java +++ b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java @@ -578,6 +578,7 @@ public class AMQConnection extends Closeable implements Connection, QueueConnect public ProtocolVersion makeBrokerConnection(BrokerDetails brokerDetail) throws IOException, AMQException { + resetClosedFlag(); return _delegate.makeBrokerConnection(brokerDetail); } diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/Closeable.java b/qpid/java/client/src/main/java/org/apache/qpid/client/Closeable.java index ba26bfc485..2f7fbad30c 100644 --- a/qpid/java/client/src/main/java/org/apache/qpid/client/Closeable.java +++ b/qpid/java/client/src/main/java/org/apache/qpid/client/Closeable.java @@ -81,7 +81,7 @@ public abstract class Closeable } /** - * Checks if this is closis. + * Checks if this is closing. * * @return <tt>true</tt> if we are closing, <tt>false</tt> otherwise. */ @@ -90,6 +90,11 @@ public abstract class Closeable return _closing.get(); } + public void resetClosedFlag() + { + _closed.set(false); + } + protected boolean setClosed() { return _closed.getAndSet(true); diff --git a/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java b/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java index b0f1a1bad8..2cd6a6e465 100644 --- a/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java +++ b/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java @@ -216,6 +216,7 @@ public class Connection extends ConnectionInvoker conSettings = settings; state = OPENING; userID = settings.getUsername(); + connectionLost.set(false); securityLayer = SecurityLayerFactory.newInstance(getConnectionSettings()); |