summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2014-08-15 12:52:53 +0000
committerRobert Godfrey <rgodfrey@apache.org>2014-08-15 12:52:53 +0000
commit610e08aff9b16263f96ed69e4f834dca4b607f52 (patch)
tree9d3edc61f96ecd87370c72b4e7df3b3784b036ce /qpid/java
parente00bc2139c51b430277c95a7f0c8680f50c070ec (diff)
downloadqpid-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')
-rw-r--r--qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageConsumerImpl.java5
-rw-r--r--qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/ConnectionErrorException.java2
-rw-r--r--qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/Receiver.java9
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
{