if (debug && ((msgNumber % 1000) == 0))
{
_logger.debug("Received " + _messageReceivedCount + " protocol messages");
}
AMQFrame frame = (AMQFrame) message;
final AMQBody bodyFrame = frame.getBodyFrame();
HeartbeatDiagnostics.received(bodyFrame instanceof HeartbeatBody);
switch (bodyFrame.getFrameType())
{
case AMQMethodBody.TYPE:
if (debug)
{
_logger.debug("(" + System.identityHashCode(this) + ")Method frame received: " + frame);
}
final AMQMethodEvent<AMQMethodBody> evt =
new AMQMethodEvent<AMQMethodBody>(frame.getChannel(), (AMQMethodBody) bodyFrame);
try
{
boolean wasAnyoneInterested = getStateManager().methodReceived(evt);
if (!_frameListeners.isEmpty())
{
Iterator it = _frameListeners.iterator();
while (it.hasNext())
{
final AMQMethodListener listener = (AMQMethodListener) it.next();
wasAnyoneInterested = listener.methodReceived(evt) || wasAnyoneInterested;
}
}
if (!wasAnyoneInterested)
{
throw new AMQException("AMQMethodEvent " + evt + " was not processed by any listener. Listeners:"
+ _frameListeners);
}
}
catch (AMQException e)
{
getStateManager().error(e);
if (!_frameListeners.isEmpty())
{
Iterator it = _frameListeners.iterator();
while (it.hasNext())
{
final AMQMethodListener listener = (AMQMethodListener) it.next();
listener.error(e);
}
}
exceptionCaught(session, e);
}
break;
case ContentHeaderBody.TYPE:
_protocolSession.messageContentHeaderReceived(frame.getChannel(), (ContentHeaderBody) bodyFrame);
break;
case ContentBody.TYPE:
_protocolSession.messageContentBodyReceived(frame.getChannel(), (ContentBody) bodyFrame);
break;
case HeartbeatBody.TYPE:
if (debug)