You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ri...@apache.org on 2008/03/18 13:33:39 UTC

svn commit: r638346 - in /incubator/qpid/branches/M2.1/java: client/src/main/java/org/apache/qpid/client/ common/src/main/java/org/apache/qpid/

Author: ritchiem
Date: Tue Mar 18 05:33:34 2008
New Revision: 638346

URL: http://svn.apache.org/viewvc?rev=638346&view=rev
Log:
QPID-847 : Prevented the InvalidArgumentException from closing the connection.

Modified:
    incubator/qpid/branches/M2.1/java/client/src/main/java/org/apache/qpid/client/AMQAuthenticationException.java
    incubator/qpid/branches/M2.1/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java
    incubator/qpid/branches/M2.1/java/common/src/main/java/org/apache/qpid/AMQException.java
    incubator/qpid/branches/M2.1/java/common/src/main/java/org/apache/qpid/AMQInvalidArgumentException.java
    incubator/qpid/branches/M2.1/java/common/src/main/java/org/apache/qpid/AMQUndeliveredException.java

Modified: incubator/qpid/branches/M2.1/java/client/src/main/java/org/apache/qpid/client/AMQAuthenticationException.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1/java/client/src/main/java/org/apache/qpid/client/AMQAuthenticationException.java?rev=638346&r1=638345&r2=638346&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1/java/client/src/main/java/org/apache/qpid/client/AMQAuthenticationException.java (original)
+++ incubator/qpid/branches/M2.1/java/client/src/main/java/org/apache/qpid/client/AMQAuthenticationException.java Tue Mar 18 05:33:34 2008
@@ -39,4 +39,9 @@
     {
         super(error, msg);
     }
+    public boolean isHardError()
+    {
+        return false;
+    }
+
 }

Modified: incubator/qpid/branches/M2.1/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java?rev=638346&r1=638345&r2=638346&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java (original)
+++ incubator/qpid/branches/M2.1/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java Tue Mar 18 05:33:34 2008
@@ -1301,7 +1301,7 @@
             _logger.error("Throwable Received but no listener set: " + cause.getMessage());
         }
 
-        if (!(cause instanceof AMQUndeliveredException) && !(cause instanceof AMQAuthenticationException))
+        if (hardError(cause))
         {
             try
             {
@@ -1323,6 +1323,16 @@
         {
             _logger.info("Not a hard-error connection not closing: " + cause.getMessage());
         }
+    }
+
+    private boolean hardError(Throwable cause)
+    {
+        if (cause instanceof AMQException)
+        {
+            return ((AMQException)cause).isHardError();
+        }
+
+        return true;
     }
 
     void registerSession(int channelId, AMQSession session)

Modified: incubator/qpid/branches/M2.1/java/common/src/main/java/org/apache/qpid/AMQException.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1/java/common/src/main/java/org/apache/qpid/AMQException.java?rev=638346&r1=638345&r2=638346&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1/java/common/src/main/java/org/apache/qpid/AMQException.java (original)
+++ incubator/qpid/branches/M2.1/java/common/src/main/java/org/apache/qpid/AMQException.java Tue Mar 18 05:33:34 2008
@@ -98,4 +98,9 @@
     {
         return _errorCode;
     }
+
+    public boolean isHardError()
+    {
+        return true;
+    }
 }

Modified: incubator/qpid/branches/M2.1/java/common/src/main/java/org/apache/qpid/AMQInvalidArgumentException.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1/java/common/src/main/java/org/apache/qpid/AMQInvalidArgumentException.java?rev=638346&r1=638345&r2=638346&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1/java/common/src/main/java/org/apache/qpid/AMQInvalidArgumentException.java (original)
+++ incubator/qpid/branches/M2.1/java/common/src/main/java/org/apache/qpid/AMQInvalidArgumentException.java Tue Mar 18 05:33:34 2008
@@ -36,4 +36,10 @@
     {
         super(AMQConstant.INVALID_ARGUMENT, message);
     }
+
+    public boolean isHardError()
+    {
+        return false;
+    }
+
 }

Modified: incubator/qpid/branches/M2.1/java/common/src/main/java/org/apache/qpid/AMQUndeliveredException.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1/java/common/src/main/java/org/apache/qpid/AMQUndeliveredException.java?rev=638346&r1=638345&r2=638346&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1/java/common/src/main/java/org/apache/qpid/AMQUndeliveredException.java (original)
+++ incubator/qpid/branches/M2.1/java/common/src/main/java/org/apache/qpid/AMQUndeliveredException.java Tue Mar 18 05:33:34 2008
@@ -45,4 +45,10 @@
     {
         return _bounced;
     }
+
+    public boolean isHardError()
+    {
+        return false;
+    }
+    
 }