diff --git a/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnection.java b/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnection.java index 45538b4bdf..46d0346bda 100755 --- a/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnection.java +++ b/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnection.java @@ -896,7 +896,7 @@ public class TransportConnection implements Connection, Task, CommandVisitor { } dispatch(command); } - } catch (Throwable e) { + } catch (IOException e) { if (messageDispatch != null) { TransmitCallback sub = messageDispatch.getTransmitCallback(); broker.postProcessDispatch(messageDispatch); @@ -904,6 +904,7 @@ public class TransportConnection implements Connection, Task, CommandVisitor { sub.onFailure(); } messageDispatch = null; + throw e; } } finally { if (messageDispatch != null) {