diff options
| author | Keith Wall <kwall@apache.org> | 2014-08-14 21:58:30 +0000 |
|---|---|---|
| committer | Keith Wall <kwall@apache.org> | 2014-08-14 21:58:30 +0000 |
| commit | 780215c0557e8388a000de1dd8de7b5d53715347 (patch) | |
| tree | 10549203a7e207843bb64b670928237bc79fd876 /qpid/java/client/src | |
| parent | 824abfd0ba6e22a2380fb2955fe90becc6d45245 (diff) | |
| download | qpid-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.java | 7 | ||||
| -rw-r--r-- | qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_8.java | 6 |
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(); |
