summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRajith Muditha Attapattu <rajith@apache.org>2011-06-20 17:46:16 +0000
committerRajith Muditha Attapattu <rajith@apache.org>2011-06-20 17:46:16 +0000
commit83ba1fd120a2887ae9cecb5d0628e3c7064c391e (patch)
tree36d4c10830cba97df186d350d026c9773e1f854f
parented552685e7d21811fc6815116026eeb6a20b59c3 (diff)
downloadqpid-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.java10
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);
}
}