diff options
Diffstat (limited to 'java/client/src')
| -rw-r--r-- | java/client/src/main/java/org/apache/qpid/client/AMQTopic.java | 7 | ||||
| -rw-r--r-- | java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java | 7 |
2 files changed, 8 insertions, 6 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 3f80d01811..6217cb534a 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 @@ -103,9 +103,14 @@ public class AMQTopic extends AMQDestination implements Topic try { AMQTopic t = new AMQTopic(topic.getAddress()); - t.setQueueName(getDurableTopicQueueName(subscriptionName, connection)); + AMQShortString queueName = getDurableTopicQueueName(subscriptionName, connection); + // link is never null if dest was created using an address string. + t.getLink().setName(queueName.asString()); t.getSourceNode().setAutoDelete(false); t.getSourceNode().setDurable(true); + + // The legacy fields are also populated just in case. + t.setQueueName(queueName); t.setAutoDelete(false); t.setDurable(true); return t; diff --git a/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java b/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java index a0d29093eb..35c0c66c7f 100644 --- a/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java +++ b/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java @@ -117,18 +117,15 @@ public class BasicMessageConsumer_0_10 extends BasicMessageConsumer<UnprocessedM } if (destination.isAddressResolved() && AMQDestination.TOPIC_TYPE == destination.getAddressType()) - { - - boolean durable = destination.getSourceNode() != null && destination.getSourceNode().isDurable(); + { boolean namedQueue = destination.getLink() != null && destination.getLink().getName() != null ; - if (!durable && !namedQueue) + if (!namedQueue) { _destination = destination.copyDestination(); _destination.setQueueName(null); } } - } |
