summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/AMQTopic.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQTopic.java b/java/client/src/main/java/org/apache/qpid/client/AMQTopic.java
index 98509c1b99..eb432d3318 100644
--- a/java/client/src/main/java/org/apache/qpid/client/AMQTopic.java
+++ b/java/client/src/main/java/org/apache/qpid/client/AMQTopic.java
@@ -106,8 +106,20 @@ public class AMQTopic extends AMQDestination implements Topic
public static AMQTopic createDurable010Topic(AMQTopic topic, String subscriptionName, AMQConnection connection)
throws JMSException
{
- return new AMQTopic(topic.getExchangeName(), ExchangeDefaults.TOPIC_EXCHANGE_CLASS, topic.getRoutingKey(), true, false,
+ if (topic.getDestSyntax() == AMQDestination.DestSyntax.BURL)
+ {
+ return new AMQTopic(topic.getExchangeName(), ExchangeDefaults.TOPIC_EXCHANGE_CLASS, topic.getRoutingKey(), true, false,
getDurableTopicQueueName(subscriptionName, connection), true);
+ }
+ else
+ {
+ return new AMQTopic(new AMQShortString(topic.getAddressName()),
+ ExchangeDefaults.TOPIC_EXCHANGE_CLASS,
+ new AMQShortString(topic.getSubject()),
+ true,
+ false,
+ getDurableTopicQueueName(subscriptionName, connection), true);
+ }
}
public static AMQShortString getDurableTopicQueueName(String subscriptionName, AMQConnection connection) throws JMSException