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]

Reply via email to