summaryrefslogtreecommitdiff
path: root/java/common/src
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2011-10-30 18:42:37 +0000
committerRobert Gemmell <robbie@apache.org>2011-10-30 18:42:37 +0000
commite85d08112168fd10e5223fab28d73c5e6a087cd5 (patch)
tree2af2155169ec113a26969044bcd8d1b658242c90 /java/common/src
parent9df5ba39017bd5d51f110ef7f6b1b7e07579087a (diff)
downloadqpid-python-e85d08112168fd10e5223fab28d73c5e6a087cd5.tar.gz
QPID-3428: update to stop duplicate 0-10 session registrations into the management layer, fixes a leak of the session and its associated connection at session removal time.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1195212 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/common/src')
-rw-r--r--java/common/src/main/java/org/apache/qpid/transport/Connection.java4
-rw-r--r--java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java7
2 files changed, 9 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 06c5c83031..b78433052c 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
@@ -697,9 +697,9 @@ public class Connection extends ConnectionInvoker
return channels.values();
}
- public boolean hasSessionWithName(final String name)
+ public boolean hasSessionWithName(final byte[] name)
{
- return sessions.containsKey(new Binary(name.getBytes()));
+ return sessions.containsKey(new Binary(name));
}
public void notifyFailoverRequired()
diff --git a/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java b/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java
index 82fa6ca473..07d21c9904 100644
--- a/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java
+++ b/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java
@@ -195,10 +195,17 @@ public class ServerDelegate extends ConnectionDelegate
@Override
public void sessionAttach(Connection conn, SessionAttach atc)
{
+ sessionAttachImpl(conn, atc);
+ }
+
+ protected Session sessionAttachImpl(Connection conn, SessionAttach atc)
+ {
Session ssn = getSession(conn, atc);
conn.map(ssn, atc.getChannel());
ssn.sessionAttached(atc.getName());
ssn.setState(Session.State.OPEN);
+
+ return ssn;
}
protected void setConnectionTuneOkChannelMax(final Connection conn, final int okChannelMax)