diff options
| author | Robert Godfrey <rgodfrey@apache.org> | 2014-08-15 12:52:53 +0000 |
|---|---|---|
| committer | Robert Godfrey <rgodfrey@apache.org> | 2014-08-15 12:52:53 +0000 |
| commit | 610e08aff9b16263f96ed69e4f834dca4b607f52 (patch) | |
| tree | 9d3edc61f96ecd87370c72b4e7df3b3784b036ce /qpid/java | |
| parent | e00bc2139c51b430277c95a7f0c8680f50c070ec (diff) | |
| download | qpid-python-610e08aff9b16263f96ed69e4f834dca4b607f52.tar.gz | |
QPID-6004 : [Java AMQP 1.0 Client] Improve error message propagation
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1618168 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
3 files changed, 12 insertions, 4 deletions
diff --git a/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageConsumerImpl.java b/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageConsumerImpl.java index 1a72e129e7..508aaf7518 100644 --- a/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageConsumerImpl.java +++ b/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageConsumerImpl.java @@ -173,7 +173,10 @@ public class MessageConsumerImpl implements MessageConsumer, QueueReceiver, Topi } else { - throw new JMSException(e.getMessage(), error.getCondition().getValue().toString()); + JMSException jmsException = + new JMSException(e.getMessage(), error.getCondition().getValue().toString()); + jmsException.initCause(e); + throw jmsException; } } diff --git a/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/ConnectionErrorException.java b/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/ConnectionErrorException.java index 302060776a..82f29ea4b1 100644 --- a/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/ConnectionErrorException.java +++ b/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/ConnectionErrorException.java @@ -34,7 +34,7 @@ public class ConnectionErrorException extends ConnectionException public ConnectionErrorException(Error remoteError) { - super(remoteError.getDescription()); + super(remoteError.getDescription() == null ? remoteError.toString() : remoteError.getDescription()); _remoteError = remoteError; } diff --git a/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/Receiver.java b/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/Receiver.java index a2a15779d2..826a757850 100644 --- a/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/Receiver.java +++ b/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/Receiver.java @@ -194,9 +194,14 @@ public class Receiver implements DeliveryStateHandler } catch (InterruptedException e) { - throw new ConnectionErrorException(AmqpError.INTERNAL_ERROR,"Interrupted whil waiting for detach following failed attach"); + throw new ConnectionErrorException(AmqpError.INTERNAL_ERROR,"Interrupted while waiting for detach following failed attach"); } - throw new ConnectionErrorException(getError()); + throw new ConnectionErrorException(getError().getCondition(), + getError().getDescription() == null + ? "AMQP error: '" + getError().getCondition().toString() + + "' when attempting to create a receiver" + + (source != null ? " from: '" + source.getAddress() +"'" : "") + : getError().getDescription()); } else { |
