diff options
| author | Marnie McCormack <marnie@apache.org> | 2010-07-05 19:40:57 +0000 |
|---|---|---|
| committer | Marnie McCormack <marnie@apache.org> | 2010-07-05 19:40:57 +0000 |
| commit | 0f7f0aa39aabb79d49f0fb7294fa233d3f8d5981 (patch) | |
| tree | 158616b744d77299a1d1ec50e7b5ff2f4d999280 /java/client/src | |
| parent | 60855f58f87bd01d90859f32b40025f1a255c08a (diff) | |
| download | qpid-python-0f7f0aa39aabb79d49f0fb7294fa233d3f8d5981.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/qpid@960667 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/client/src')
2 files changed, 6 insertions, 4 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/handler/ChannelCloseOkMethodHandler.java b/java/client/src/main/java/org/apache/qpid/client/handler/ChannelCloseOkMethodHandler.java index 9a9a0b4e63..72936779c2 100644 --- a/java/client/src/main/java/org/apache/qpid/client/handler/ChannelCloseOkMethodHandler.java +++ b/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/java/client/src/main/java/org/apache/qpid/client/handler/ClientMethodDispatcherImpl.java b/java/client/src/main/java/org/apache/qpid/client/handler/ClientMethodDispatcherImpl.java index 909ac8aae8..ec98783a8a 100644 --- a/java/client/src/main/java/org/apache/qpid/client/handler/ClientMethodDispatcherImpl.java +++ b/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 |
