diff options
| author | Aidan Skinner <aidan@apache.org> | 2009-02-11 15:55:48 +0000 |
|---|---|---|
| committer | Aidan Skinner <aidan@apache.org> | 2009-02-11 15:55:48 +0000 |
| commit | 67460e0818bd5617cb84a6ae44c33ef8a11ac0a0 (patch) | |
| tree | e1a1eb85dcd7746bfaa34ace20662ed3c212b5d3 /java/client | |
| parent | 29f4c66d99c5c727f51cd9d18989dd92f7ea07fb (diff) | |
| download | qpid-python-67460e0818bd5617cb84a6ae44c33ef8a11ac0a0.tar.gz | |
QPID-1623: Allow null as a valid destination for JMSReplyTo
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@743367 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/client')
3 files changed, 40 insertions, 2 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java b/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java index d064c27754..338aefbd4a 100644 --- a/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java +++ b/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java @@ -286,7 +286,8 @@ public class AMQMessageDelegate_0_10 implements AMQMessageDelegate { if (destination == null) { - throw new IllegalArgumentException("Null destination not allowed"); + _messageProps.setReplyTo(null); + return; } if (!(destination instanceof AMQDestination)) diff --git a/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_8.java b/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_8.java index 4c20a44849..d053b8af80 100644 --- a/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_8.java +++ b/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_8.java @@ -196,7 +196,8 @@ public class AMQMessageDelegate_0_8 implements AMQMessageDelegate { if (destination == null) { - throw new IllegalArgumentException("Null destination not allowed"); + getContentHeaderProperties().setReplyTo((String) null); + return; // We're done here } if (!(destination instanceof AMQDestination)) diff --git a/java/client/src/test/java/org/apache/qpid/client/message/AbstractJMSMessageTest.java b/java/client/src/test/java/org/apache/qpid/client/message/AbstractJMSMessageTest.java new file mode 100644 index 0000000000..b4774113be --- /dev/null +++ b/java/client/src/test/java/org/apache/qpid/client/message/AbstractJMSMessageTest.java @@ -0,0 +1,36 @@ +package org.apache.qpid.client.message; + +import javax.jms.JMSException; + +import junit.framework.TestCase; + +public class AbstractJMSMessageTest extends TestCase +{ + + public void testSetNullJMSReplyTo08() throws JMSException + { + JMSTextMessage message = new JMSTextMessage(AMQMessageDelegateFactory.FACTORY_0_8); + try + { + message.setJMSReplyTo(null); + } + catch (IllegalArgumentException e) + { + fail("Null destination should be allowed"); + } + } + + public void testSetNullJMSReplyTo10() throws JMSException + { + JMSTextMessage message = new JMSTextMessage(AMQMessageDelegateFactory.FACTORY_0_10); + try + { + message.setJMSReplyTo(null); + } + catch (IllegalArgumentException e) + { + fail("Null destination should be allowed"); + } + } + +} |
