diff options
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 { |
