Author: robbie
Date: Thu May 22 15:10:32 2014
New Revision: 1596899
URL: http://svn.apache.org/r1596899
Log:
QPID-5781: remove connection from the registry upon exception while closing,
ensure we dont loop retrying it
Modified:
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/connection/ConnectionRegistry.java
Modified:
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/connection/ConnectionRegistry.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/connection/ConnectionRegistry.java?rev=1596899&r1=1596898&r2=1596899&view=diff
==============================================================================
---
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/connection/ConnectionRegistry.java
(original)
+++
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/connection/ConnectionRegistry.java
Thu May 22 15:10:32 2014
@@ -65,19 +65,18 @@ public class ConnectionRegistry implemen
while (!_registry.isEmpty())
{
AMQConnectionModel connection = _registry.get(0);
- closeConnection(connection, AMQConstant.CONNECTION_FORCED,
replyText);
- }
- }
- private void closeConnection(AMQConnectionModel connection, AMQConstant
cause, String message)
- {
- try
- {
- connection.close(cause, message);
- }
- catch (Exception e)
- {
- _logger.warn("Exception closing connection", e);
+ try
+ {
+ connection.close(AMQConstant.CONNECTION_FORCED, replyText);
+ }
+ catch (Exception e)
+ {
+ //remove this connection to ensure that we don't loop forever
if it fails to close
+ _registry.remove(connection);
+
+ _logger.warn("Exception closing connection " +
connection.getConnectionId() + " from " + connection.getRemoteAddressString(),
e);
+ }
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]