diff options
-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()) |