From e17e3ba4f60b31cfa489c312a40e3c7fc24b437f Mon Sep 17 00:00:00 2001 From: jbertram Date: Wed, 28 Jan 2015 16:08:45 -0600 Subject: [PATCH] fix tests I broke; refactor a few other pieces I broke serveral tests with 8f4142f87ec2456fd61379dfaa7cafcc30acdcf4 so I'm restoring that, and I'm refactoring a few other pieces so the code is simpler and/or more correct. --- .../core/remoting/server/impl/RemotingServiceImpl.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/activemq-server/src/main/java/org/apache/activemq/core/remoting/server/impl/RemotingServiceImpl.java b/activemq-server/src/main/java/org/apache/activemq/core/remoting/server/impl/RemotingServiceImpl.java index 811208c44b..9cb009abdc 100644 --- a/activemq-server/src/main/java/org/apache/activemq/core/remoting/server/impl/RemotingServiceImpl.java +++ b/activemq-server/src/main/java/org/apache/activemq/core/remoting/server/impl/RemotingServiceImpl.java @@ -400,8 +400,7 @@ public class RemotingServiceImpl implements RemotingService, ConnectionLifeCycle if (!conn.isClient()) { conn.disconnect(scaleDownNodeID, false); - connections.remove(entry.getKey()); - connectionCountLatch.countDown(); + removeConnection(entry.getKey()); } } } @@ -508,10 +507,10 @@ public class RemotingServiceImpl implements RemotingService, ConnectionLifeCycle public RemotingConnection removeConnection(final Object remotingConnectionID) { ConnectionEntry entry = connections.remove(remotingConnectionID); - connectionCountLatch.countDown(); if (entry != null) { + connectionCountLatch.countDown(); return entry.connection; } else @@ -604,8 +603,7 @@ public class RemotingServiceImpl implements RemotingService, ConnectionLifeCycle // so we need to keep them for ttl, in case re-attachment occurs if (empty) { - connections.remove(connectionID); - connectionCountLatch.countDown(); + removeConnection(connectionID); conn.connection.destroy(); } @@ -789,6 +787,7 @@ public class RemotingServiceImpl implements RemotingService, ConnectionLifeCycle if (conn != null) { conn.fail(ActiveMQMessageBundle.BUNDLE.clientExited(conn.getRemoteAddress())); + removeConnection(id); } }