summaryrefslogtreecommitdiff
path: root/qpid/java/client/src
diff options
context:
space:
mode:
authorKeith Wall <kwall@apache.org>2014-08-14 21:58:30 +0000
committerKeith Wall <kwall@apache.org>2014-08-14 21:58:30 +0000
commit780215c0557e8388a000de1dd8de7b5d53715347 (patch)
tree10549203a7e207843bb64b670928237bc79fd876 /qpid/java/client/src
parent824abfd0ba6e22a2380fb2955fe90becc6d45245 (diff)
downloadqpid-python-780215c0557e8388a000de1dd8de7b5d53715347.tar.gz
QPID-6001: [Java Client] Prevent NPE when publishing using ADDR destination to Broker using AMQP 0-9-1 or lower
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1618073 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/client/src')
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java7
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_8.java6
2 files changed, 12 insertions, 1 deletions
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java
index 3ff7416d8f..ef0d023fb2 100644
--- a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java
+++ b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java
@@ -736,8 +736,13 @@ public class AMQSession_0_8 extends AMQSession<BasicMessageConsumer_0_8, BasicMe
boolean isConsumer,
boolean noLocal) throws AMQException
{
+ throwUnsupportedAddressingSyntax();
+ }
+
+ void throwUnsupportedAddressingSyntax()
+ {
throw new UnsupportedOperationException("The new addressing based syntax is "
- + "not supported for AMQP 0-8/0-9 versions");
+ + "not supported for AMQP 0-8/0-9/0-9-1 versions");
}
protected void flushAcknowledgments()
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_8.java b/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_8.java
index 3cb723e5a8..ed517d38a7 100644
--- a/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_8.java
+++ b/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_8.java
@@ -57,6 +57,12 @@ public class BasicMessageProducer_0_8 extends BasicMessageProducer
void declareDestination(AMQDestination destination)
{
+
+ if (destination.getDestSyntax() == AMQDestination.DestSyntax.ADDR)
+ {
+ getSession().throwUnsupportedAddressingSyntax();
+ }
+
if(getSession().isDeclareExchanges())
{
final MethodRegistry methodRegistry = getSession().getMethodRegistry();