From 3eecaff063207e66d72c08754143069cb977d0c5 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/qpid@1137717 13f79535-47bb-0310-9956-ffa450edef68 --- .../src/main/java/org/apache/qpid/transport/Connection.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'java') 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 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