diff options
author | Rajith Muditha Attapattu <rajith@apache.org> | 2011-06-20 17:46:16 +0000 |
---|---|---|
committer | Rajith Muditha Attapattu <rajith@apache.org> | 2011-06-20 17:46:16 +0000 |
commit | 83ba1fd120a2887ae9cecb5d0628e3c7064c391e (patch) | |
tree | 36d4c10830cba97df186d350d026c9773e1f854f | |
parent | ed552685e7d21811fc6815116026eeb6a20b59c3 (diff) | |
download | qpid-python-83ba1fd120a2887ae9cecb5d0628e3c7064c391e.tar.gz |
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
-rw-r--r-- | qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java | 10 |
1 files 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 <Binary> 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); } } |