You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by gt...@apache.org on 2011/03/09 18:01:55 UTC
svn commit: r1079885 - in
/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker:
MapTransportConnectionStateRegister.java TransportConnection.java
Author: gtully
Date: Wed Mar 9 17:01:55 2011
New Revision: 1079885
URL: http://svn.apache.org/viewvc?rev=1079885&view=rev
Log:
https://issues.apache.org/jira/browse/AMQ-3198 - unregister failed add connection but have unregister respect the reference count such that it is only removed if the refcount is 1
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/MapTransportConnectionStateRegister.java
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/TransportConnection.java
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/MapTransportConnectionStateRegister.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/MapTransportConnectionStateRegister.java?rev=1079885&r1=1079884&r2=1079885&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/MapTransportConnectionStateRegister.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/MapTransportConnectionStateRegister.java Wed Mar 9 17:01:55 2011
@@ -43,6 +43,10 @@ public class MapTransportConnectionState
public TransportConnectionState unregisterConnectionState(ConnectionId connectionId) {
TransportConnectionState rc = connectionStates.remove(connectionId);
+ if (rc.getReferenceCounter().get() > 1) {
+ rc.decrementReference();
+ connectionStates.put(connectionId, rc);
+ }
return rc;
}
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/TransportConnection.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/TransportConnection.java?rev=1079885&r1=1079884&r2=1079885&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/TransportConnection.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/TransportConnection.java Wed Mar 9 17:01:55 2011
@@ -697,6 +697,7 @@ public class TransportConnection impleme
synchronized (brokerConnectionStates) {
brokerConnectionStates.remove(info.getConnectionId());
}
+ unregisterConnectionState(info.getConnectionId());
LOG.warn("Failed to add Connection " + info.getConnectionId() + ", reason: " + e.toString());
if (LOG.isDebugEnabled()) {
LOG.debug("Exception detail:", e);