QPID-8212: Improve handling of received method frames
diff --git a/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java b/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java
index 3986bb3..13c122f 100644
--- a/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java
+++ b/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java
@@ -482,15 +482,13 @@
@Override
public void methodFrameReceived(final int channel, final AMQMethodBody amqMethodBody) throws QpidException
{
- if ( channel == 0
- || !isClosedForInput(channel)
- || (isClosing(channel) && (amqMethodBody instanceof ChannelCloseBody || amqMethodBody instanceof ChannelCloseOkBody)))
+ try
{
_protocolHandler.methodBodyReceived(channel, amqMethodBody);
}
- else
+ catch (IllegalStateException e)
{
- _logger.debug("Ignoring method {} as channel {} closed on {}", amqMethodBody, channel);
+ throw new QpidException("Unexpected exception on receiving method " + amqMethodBody, e);
}
}