diff options
author | Rajith Muditha Attapattu <rajith@apache.org> | 2011-08-02 21:19:07 +0000 |
---|---|---|
committer | Rajith Muditha Attapattu <rajith@apache.org> | 2011-08-02 21:19:07 +0000 |
commit | f94c88c2044088d6857f6f2cc02545fc25dd8b85 (patch) | |
tree | c083e584feb38b1937348bc6df9c950020b36632 | |
parent | 437670e7ae583cbf62458096ac7a8253eea2e6de (diff) | |
download | qpid-python-f94c88c2044088d6857f6f2cc02545fc25dd8b85.tar.gz |
QPID-3381 Provided the ability to retrieve the routing key from a JMS message using getStringProperty().
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1153274 13f79535-47bb-0310-9956-ffa450edef68
2 files changed, 15 insertions, 7 deletions
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java b/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java index c9a42638b5..182b7b65d8 100644 --- a/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java +++ b/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java @@ -634,11 +634,16 @@ public class AMQMessageDelegate_0_10 extends AbstractAMQMessageDelegate { return new String(_messageProps.getUserId()); } - else if ("x-amqp-0-10.app-id".equals(propertyName) && + else if (QpidMessageProperties.AMQP_0_10_APP_ID.equals(propertyName) && _messageProps.getAppId() != null) { return new String(_messageProps.getAppId()); } + else if (QpidMessageProperties.AMQP_0_10_ROUTING_KEY.equals(propertyName) && + _deliveryProps.getRoutingKey() != null) + { + return _deliveryProps.getRoutingKey(); + } else { checkPropertyName(propertyName); @@ -745,7 +750,7 @@ public class AMQMessageDelegate_0_10 extends AbstractAMQMessageDelegate { checkPropertyName(propertyName); checkWritableProperties(); - if ("x-amqp-0-10.app-id".equals(propertyName)) + if (QpidMessageProperties.AMQP_0_10_APP_ID.equals(propertyName)) { _messageProps.setAppId(value.getBytes()); } diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/message/JMSPropertiesTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/message/JMSPropertiesTest.java index 5721bcf4e3..97452ad1c8 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/message/JMSPropertiesTest.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/message/JMSPropertiesTest.java @@ -25,6 +25,7 @@ import org.apache.qpid.client.AMQConnection; import org.apache.qpid.client.AMQQueue; import org.apache.qpid.client.AMQSession; import org.apache.qpid.client.message.NonQpidObjectMessage; +import org.apache.qpid.client.message.QpidMessageProperties; import org.apache.qpid.framing.AMQShortString; import org.apache.qpid.test.utils.QpidBrokerTestCase; @@ -172,7 +173,7 @@ public class JMSPropertiesTest extends QpidBrokerTestCase * Test Goal : Test if custom message properties can be set and retrieved properly with out an error. * Also test if unsupported properties are filtered out. See QPID-2930. */ - public void testApplicationProperties() throws Exception + public void testQpidExtensionProperties() throws Exception { Connection con = getConnection("guest", "guest"); Session ssn = (AMQSession) con.createSession(false, Session.CLIENT_ACKNOWLEDGE); @@ -182,8 +183,8 @@ public class JMSPropertiesTest extends QpidBrokerTestCase MessageConsumer consumer = ssn.createConsumer(topic); MessageProducer prod = ssn.createProducer(topic); Message m = ssn.createMessage(); - m.setObjectProperty("x-amqp-0-10.routing-key", "routing-key".getBytes()); - m.setObjectProperty("x-amqp-0-10.app-id", "my-app-id"); + m.setObjectProperty("foo-bar", "foobar".getBytes()); + m.setObjectProperty(QpidMessageProperties.AMQP_0_10_APP_ID, "my-app-id"); prod.send(m); Message msg = consumer.receive(1000); @@ -198,7 +199,9 @@ public class JMSPropertiesTest extends QpidBrokerTestCase map.put(name, value); } - assertFalse("Property 'x-amqp-0-10.routing-key' should have been filtered out",map.containsKey("x-amqp-0-10.routing-key")); - assertEquals("Property x-amqp-0-10.app-id should be present","my-app-id",msg.getStringProperty("x-amqp-0-10.app-id")); + assertFalse("Property 'foo-bar' should have been filtered out",map.containsKey("foo-bar")); + assertEquals("Property "+ QpidMessageProperties.AMQP_0_10_APP_ID + " should be present","my-app-id",msg.getStringProperty(QpidMessageProperties.AMQP_0_10_APP_ID)); + assertEquals("Property "+ QpidMessageProperties.AMQP_0_10_ROUTING_KEY + " should be present","test",msg.getStringProperty(QpidMessageProperties.AMQP_0_10_ROUTING_KEY)); + } } |