diff options
| author | Martin Ritchie <ritchiem@apache.org> | 2008-03-18 12:33:34 +0000 |
|---|---|---|
| committer | Martin Ritchie <ritchiem@apache.org> | 2008-03-18 12:33:34 +0000 |
| commit | f79decd5edc925aefebac3a5b93c04192a84f9c7 (patch) | |
| tree | 1fa465074f5249ee01034a4a6d06d0c6e657fca8 /java/client | |
| parent | d78c5ab1483b8282105c480aa035a7f39bd08a8c (diff) | |
| download | qpid-python-f79decd5edc925aefebac3a5b93c04192a84f9c7.tar.gz | |
QPID-847 : Prevented the InvalidArgumentException from closing the connection.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/M2.1@638346 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/client')
| -rw-r--r-- | java/client/src/main/java/org/apache/qpid/client/AMQAuthenticationException.java | 5 | ||||
| -rw-r--r-- | java/client/src/main/java/org/apache/qpid/client/AMQConnection.java | 12 |
2 files changed, 16 insertions, 1 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQAuthenticationException.java b/java/client/src/main/java/org/apache/qpid/client/AMQAuthenticationException.java index b6fbb6c6bf..8f90a0bdfa 100644 --- a/java/client/src/main/java/org/apache/qpid/client/AMQAuthenticationException.java +++ b/java/client/src/main/java/org/apache/qpid/client/AMQAuthenticationException.java @@ -39,4 +39,9 @@ public class AMQAuthenticationException extends AMQException { super(error, msg); } + public boolean isHardError() + { + return false; + } + } diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java b/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java index 8cbcda053b..4b8143cfb5 100644 --- a/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java +++ b/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java @@ -1301,7 +1301,7 @@ public class AMQConnection extends Closeable implements Connection, QueueConnect _logger.error("Throwable Received but no listener set: " + cause.getMessage()); } - if (!(cause instanceof AMQUndeliveredException) && !(cause instanceof AMQAuthenticationException)) + if (hardError(cause)) { try { @@ -1325,6 +1325,16 @@ public class AMQConnection extends Closeable implements Connection, QueueConnect } } + private boolean hardError(Throwable cause) + { + if (cause instanceof AMQException) + { + return ((AMQException)cause).isHardError(); + } + + return true; + } + void registerSession(int channelId, AMQSession session) { _sessions.put(channelId, session); |
