summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorMarnie McCormack <marnie@apache.org>2010-07-05 19:40:57 +0000
committerMarnie McCormack <marnie@apache.org>2010-07-05 19:40:57 +0000
commit94a3e6777e07f5b3f56d1cb7de5e9ccafaf94bc9 (patch)
tree2888f1129bf50b188da16e3526a0699c9f9f8775 /qpid/java
parent64327d0769dae12795a31d46868478a3bca26707 (diff)
downloadqpid-python-94a3e6777e07f5b3f56d1cb7de5e9ccafaf94bc9.tar.gz
QPID-2694 Commit to trunk for Andrew Kennedy patch for session leak on close
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@960667 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpid/client/handler/ChannelCloseOkMethodHandler.java6
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpid/client/handler/ClientMethodDispatcherImpl.java4
2 files changed, 6 insertions, 4 deletions
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/handler/ChannelCloseOkMethodHandler.java b/qpid/java/client/src/main/java/org/apache/qpid/client/handler/ChannelCloseOkMethodHandler.java
index 9a9a0b4e63..72936779c2 100644
--- a/qpid/java/client/src/main/java/org/apache/qpid/client/handler/ChannelCloseOkMethodHandler.java
+++ b/qpid/java/client/src/main/java/org/apache/qpid/client/handler/ChannelCloseOkMethodHandler.java
@@ -21,10 +21,10 @@
package org.apache.qpid.client.handler;
import org.apache.qpid.AMQException;
-import org.apache.qpid.framing.ChannelCloseOkBody;
import org.apache.qpid.client.protocol.AMQProtocolSession;
import org.apache.qpid.client.state.StateAwareMethodListener;
-
+import org.apache.qpid.framing.ChannelCloseOkBody;
+import org.apache.qpid.protocol.AMQConstant;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -44,6 +44,6 @@ public class ChannelCloseOkMethodHandler implements StateAwareMethodListener<Cha
{
_logger.info("Received channel-close-ok for channel-id " + channelId);
- // todo this should do the local closure
+ session.channelClosed(channelId, AMQConstant.REPLY_SUCCESS, "Channel closed successfully");
}
}
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/handler/ClientMethodDispatcherImpl.java b/qpid/java/client/src/main/java/org/apache/qpid/client/handler/ClientMethodDispatcherImpl.java
index 909ac8aae8..ec98783a8a 100644
--- a/qpid/java/client/src/main/java/org/apache/qpid/client/handler/ClientMethodDispatcherImpl.java
+++ b/qpid/java/client/src/main/java/org/apache/qpid/client/handler/ClientMethodDispatcherImpl.java
@@ -38,6 +38,7 @@ public class ClientMethodDispatcherImpl implements MethodDispatcher
private static final BasicDeliverMethodHandler _basicDeliverMethodHandler = BasicDeliverMethodHandler.getInstance();
private static final BasicReturnMethodHandler _basicReturnMethodHandler = BasicReturnMethodHandler.getInstance();
private static final ChannelCloseMethodHandler _channelCloseMethodHandler = ChannelCloseMethodHandler.getInstance();
+ private static final ChannelCloseOkMethodHandler _channelCloseOkMethodHandler = ChannelCloseOkMethodHandler.getInstance();
private static final ChannelFlowOkMethodHandler _channelFlowOkMethodHandler = ChannelFlowOkMethodHandler.getInstance();
private static final ChannelFlowMethodHandler _channelFlowMethodHandler = ChannelFlowMethodHandler.getInstance();
private static final ConnectionCloseMethodHandler _connectionCloseMethodHandler = ConnectionCloseMethodHandler.getInstance();
@@ -165,7 +166,8 @@ public class ClientMethodDispatcherImpl implements MethodDispatcher
public boolean dispatchChannelCloseOk(ChannelCloseOkBody body, int channelId) throws AMQException
{
- return false;
+ _channelCloseOkMethodHandler.methodReceived(_session, body, channelId);
+ return true;
}
public boolean dispatchChannelFlow(ChannelFlowBody body, int channelId) throws AMQException