Author: jstrachan
Date: Fri Mar 17 03:19:12 2006
New Revision: 386610

URL: http://svn.apache.org/viewcvs?rev=386610&view=rev
Log:
fix for AMQ-600 to detect IOExceptions as being transport exceptions, not 
service exceptions (which are normally things like JMSException or security 
exceptions etc) and then disposing the connection eagerly - to free up the 
clientID so that the client can reconnect

Modified:
    
incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/AbstractConnection.java

Modified: 
incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/AbstractConnection.java
URL: 
http://svn.apache.org/viewcvs/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/AbstractConnection.java?rev=386610&r1=386609&r2=386610&view=diff
==============================================================================
--- 
incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/AbstractConnection.java
 (original)
+++ 
incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/AbstractConnection.java
 Fri Mar 17 03:19:12 2006
@@ -169,7 +169,12 @@
     }
         
     public void serviceException(Throwable e) {
-        if( !disposed && !inServiceException ) {
+        // are we a transport exception such as not being able to dispatch
+        // synchronously to a transport
+        if (e instanceof IOException) {
+            serviceTransportException((IOException) e);
+        }
+        else if( !disposed && !inServiceException ) {
             inServiceException = true;
                 try {
                 serviceLog.info("Async error occurred: "+e,e);


Reply via email to