diff --git a/activemq-core/src/main/java/org/apache/activemq/broker/TransportConnection.java b/activemq-core/src/main/java/org/apache/activemq/broker/TransportConnection.java index a2bcaefdb2..318d1924b8 100755 --- a/activemq-core/src/main/java/org/apache/activemq/broker/TransportConnection.java +++ b/activemq-core/src/main/java/org/apache/activemq/broker/TransportConnection.java @@ -690,7 +690,13 @@ public class TransportConnection implements Service, Connection, Task, CommandVi state.setContext(context); state.setConnection(this); + try { broker.addConnection(context, info); + }catch(Exception e){ + brokerConnectionStates.remove(info); + LOG.warn("Failed to add Connection",e); + throw e; + } if (info.isManageable() && broker.isFaultTolerantConfiguration()) { // send ConnectionCommand ConnectionControl command = new ConnectionControl();