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 | 2c0724ea3c4fe95276320a071469eaba870fdf51 (patch) | |
| tree | 8eaf8d3a3967822b0e03b81b738e7ef8bcce3093 /qpid/java/broker/src | |
| parent | e135de42dc525a8da132ba20b32d0ddc31e44946 (diff) | |
| download | qpid-python-2c0724ea3c4fe95276320a071469eaba870fdf51.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@1086041 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker/src')
| -rw-r--r-- | qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnection.java | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnection.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnection.java index 75bd50e3a2..54cd709af3 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnection.java +++ b/qpid/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 |
