diff options
author | Keith Wall <kwall@apache.org> | 2015-04-14 22:25:13 +0000 |
---|---|---|
committer | Keith Wall <kwall@apache.org> | 2015-04-14 22:25:13 +0000 |
commit | 96ee26de201537df222243d1f9a3a7bf6ad4c634 (patch) | |
tree | e2161b7399f6e11247c0f394df990f90ca06bb40 | |
parent | 7fba002cd5acb236c7417a44ed7ef330eba84529 (diff) | |
download | qpid-python-96ee26de201537df222243d1f9a3a7bf6ad4c634.tar.gz |
QPID-6495: [Java Broker] Ensure the closing a 0-10 connection releases protocol layer session resources before the Connection model close future returns for the caller
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1673570 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java b/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java index 227281bbaf..e3b7a9282f 100644 --- a/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java +++ b/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java @@ -396,7 +396,8 @@ public class ServerConnection extends Connection implements AMQConnectionModel<S { if(!isClosing()) { - closeSubscriptions(); + markAllSessionsClosed(); + performDeleteTasks(); setState(CLOSING); @@ -582,6 +583,16 @@ public class ServerConnection extends Connection implements AMQConnectionModel<S } } + private void markAllSessionsClosed() + { + for (Session ssn : getChannels()) + { + final ServerSession session = (ServerSession) ssn; + ((ServerSession) ssn).setClose(true); + session.closed(); + } + } + public void receivedComplete() { for (Session ssn : getChannels()) |