summaryrefslogtreecommitdiff
path: root/java/common/src
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
commit3eecaff063207e66d72c08754143069cb977d0c5 (patch)
tree744f9c80353d34e5db1c6f4bda00757392479400 /java/common/src
parent2053d719ef1248c18b2db6a70c949c55a9867860 (diff)
downloadqpid-python-3eecaff063207e66d72c08754143069cb977d0c5.tar.gz
QPID-3311 Committing a patch by Siddhesh Poyarekar
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1137717 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/common/src')
-rw-r--r--java/common/src/main/java/org/apache/qpid/transport/Connection.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/java/common/src/main/java/org/apache/qpid/transport/Connection.java b/java/common/src/main/java/org/apache/qpid/transport/Connection.java
index dc32569ee8..19f00378b1 100644
--- a/java/common/src/main/java/org/apache/qpid/transport/Connection.java
+++ b/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);
}
}