summaryrefslogtreecommitdiff
path: root/java/client
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2008-03-18 12:33:34 +0000
committerMartin Ritchie <ritchiem@apache.org>2008-03-18 12:33:34 +0000
commitf79decd5edc925aefebac3a5b93c04192a84f9c7 (patch)
tree1fa465074f5249ee01034a4a6d06d0c6e657fca8 /java/client
parentd78c5ab1483b8282105c480aa035a7f39bd08a8c (diff)
downloadqpid-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.java5
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/AMQConnection.java12
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);