From 83ba1fd120a2887ae9cecb5d0628e3c7064c391e Mon Sep 17 00:00:00 2001 From: Rajith Muditha Attapattu Date: Mon, 20 Jun 2011 17:46:16 +0000 Subject: QPID-3311 Committing a patch by Siddhesh Poyarekar git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1137717 13f79535-47bb-0310-9956-ffa450edef68 --- .../src/main/java/org/apache/qpid/transport/Connection.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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 dc32569ee8..19f00378b1 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 @@ -467,11 +467,12 @@ public class Connection extends ConnectionInvoker { synchronized (lock) { + List transactedSessions = new ArrayList(); for (Session ssn : sessions.values()) { if (ssn.isTransacted()) - { - removeSession(ssn); + { + transactedSessions.add(ssn.getName()); ssn.setState(Session.State.CLOSED); } else @@ -481,6 +482,11 @@ public class Connection extends ConnectionInvoker ssn.resume(); } } + + for (Binary ssn_name : transactedSessions) + { + sessions.remove(ssn_name); + } setState(OPEN); } } -- cgit v1.2.1