diff options
Diffstat (limited to 'qpid/java')
| -rw-r--r-- | qpid/java/common/src/main/java/org/apache/qpidity/transport/network/mina/MinaHandler.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/mina/MinaHandler.java b/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/mina/MinaHandler.java index 3021184842..6010755d7d 100644 --- a/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/mina/MinaHandler.java +++ b/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/mina/MinaHandler.java @@ -46,6 +46,8 @@ import org.apache.qpidity.transport.network.Disassembler; import org.apache.qpidity.transport.network.InputHandler; import org.apache.qpidity.transport.network.OutputHandler; +import static org.apache.qpidity.transport.util.Functions.*; + /** * MinaHandler * @@ -74,12 +76,19 @@ public class MinaHandler<E> implements IoHandler this.binding = binding; } - public void messageReceived(IoSession ssn, Object obj) { Attachment<E> attachment = (Attachment<E>) ssn.getAttachment(); ByteBuffer buf = (ByteBuffer) obj; - attachment.receiver.received(buf.buf()); + try + { + attachment.receiver.received(buf.buf()); + } + catch (Throwable t) + { + log.error(t, "exception handling buffer %s", str(buf.buf())); + throw new RuntimeException(t); + } } public void messageSent(IoSession ssn, Object obj) |
