From 6dd5a628ce4ae2e6c306d7e21fb45ceceee20cad Mon Sep 17 00:00:00 2001 From: Martin Ritchie Date: Wed, 15 Apr 2009 10:56:26 +0000 Subject: QPID-1809 : When a DisconnectedException is recieved check the StateManager to see if there is a cause of the disconnection that we can throw instead to give more meaning. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@765132 13f79535-47bb-0310-9956-ffa450edef68 --- .../src/main/java/org/apache/qpid/client/AMQConnection.java | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'java/client') 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 4db94627bc..39acee3a60 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 @@ -1310,6 +1310,17 @@ public class AMQConnection extends Closeable implements Connection, QueueConnect else { //Should never get here as all AMQEs are required to have an ErrorCode! + // Other than AMQDisconnectedEx! + + if (cause instanceof AMQDisconnectedException) + { + Exception last = _protocolHandler.getStateManager().getLastException(); + if (last != null) + { + _logger.info("StateManager had an exception for us to use a cause of our Disconnected Exception"); + cause = last; + } + } je = new JMSException("Exception thrown against " + toString() + ": " + cause); } -- cgit v1.2.1