You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2016/02/11 23:04:33 UTC
svn commit: r1729904 -
/qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java
Author: kwall
Date: Thu Feb 11 22:04:33 2016
New Revision: 1729904
URL: http://svn.apache.org/viewvc?rev=1729904&view=rev
Log:
QPID-7060: [Java Broker] Close session/connection protocol objects before disassociating virtualhost
Modified:
qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java
Modified: qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java?rev=1729904&r1=1729903&r2=1729904&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java Thu Feb 11 22:04:33 2016
@@ -72,7 +72,7 @@ public class ServerConnection extends Co
private Principal _authorizedPrincipal = null;
private final long _connectionId;
private final Object _reference = new Object();
- private VirtualHost<?> _virtualHost;
+ private volatile VirtualHost<?> _virtualHost;
private final AmqpPort<?> _port;
private final AtomicLong _lastIoTime = new AtomicLong();
private boolean _blocking;
@@ -418,15 +418,20 @@ public class ServerConnection extends Co
@Override
public void closed()
{
- performDeleteTasks();
-
- if(_virtualHost != null)
+ try
{
- _virtualHost.deregisterConnection(_amqpConnection);
+ performDeleteTasks();
+ super.closed();
+ }
+ finally
+ {
+ if(_virtualHost != null)
+ {
+ _virtualHost.deregisterConnection(_amqpConnection);
+ }
+ getEventLogger().message(isConnectionLost() ? ConnectionMessages.DROPPED_CONNECTION() : ConnectionMessages.CLOSE());
}
- super.closed();
- getEventLogger().message(isConnectionLost() ? ConnectionMessages.DROPPED_CONNECTION() : ConnectionMessages.CLOSE());
}
private void markAllSessionsClosed()
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org