diff options
| author | Robert Gemmell <robbie@apache.org> | 2011-03-27 21:32:02 +0000 |
|---|---|---|
| committer | Robert Gemmell <robbie@apache.org> | 2011-03-27 21:32:02 +0000 |
| commit | 646f6caf446e227e9d32ae04068cb1e058f69cca (patch) | |
| tree | df4b429d6ceafaa2036a2f771ca09b67b9fb2473 /java | |
| parent | 2291ac84712fb221e507f59a9a27361a02ecf0eb (diff) | |
| download | qpid-python-646f6caf446e227e9d32ae04068cb1e058f69cca.tar.gz | |
QPID-3162: move unregistration of ServerConnections from the ConnectionRegistry into the setState() method to ensure it occurs in all cases. Also move registration into setState().
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1086041 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
| -rw-r--r-- | java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnection.java | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnection.java b/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnection.java index 75bd50e3a2..54cd709af3 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnection.java +++ b/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnection.java @@ -88,8 +88,18 @@ public class ServerConnection extends Connection implements AMQConnectionModel, _onOpenTask.run(); } _actor.message(ConnectionMessages.OPEN(getClientId(), "0-10", true, true)); + + getVirtualHost().getConnectionRegistry().registerConnection(this); } - + + if (state == State.CLOSE_RCVD || state == State.CLOSED || state == State.CLOSING) + { + if(_virtualHost != null) + { + _virtualHost.getConnectionRegistry().deregisterConnection(this); + } + } + if (state == State.CLOSED) { logClosed(); @@ -126,7 +136,6 @@ public class ServerConnection extends Connection implements AMQConnectionModel, public void setVirtualHost(VirtualHost virtualHost) { _virtualHost = virtualHost; - _virtualHost.getConnectionRegistry().registerConnection(this); initialiseStatistics(); } @@ -253,7 +262,6 @@ public class ServerConnection extends Connection implements AMQConnectionModel, // Ignore } close(replyCode, message); - getVirtualHost().getConnectionRegistry().deregisterConnection(this); } @Override |
