diff options
-rw-r--r-- | java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java b/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java index cfd5776c0a..d38f4bbb2f 100644 --- a/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java +++ b/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java @@ -1366,18 +1366,16 @@ public class AMQSession_0_10 extends AMQSession<BasicMessageConsumer_0_10, Basic void stop() throws AMQException { super.stop(); - synchronized (getMessageDeliveryLock()) - { - for (BasicMessageConsumer consumer : getConsumers().values()) - { - List<Long> tags = consumer.drainReceiverQueueAndRetrieveDeliveryTags(); - getPrefetchedMessageTags().addAll(tags); - } - } setUsingDispatcherForCleanup(true); drainDispatchQueue(); setUsingDispatcherForCleanup(false); + for (BasicMessageConsumer consumer : getConsumers().values()) + { + List<Long> tags = consumer.drainReceiverQueueAndRetrieveDeliveryTags(); + getPrefetchedMessageTags().addAll(tags); + } + RangeSet delivered = gatherRangeSet(getUnacknowledgedMessageTags()); RangeSet prefetched = gatherRangeSet(getPrefetchedMessageTags()); RangeSet all = RangeSetFactory.createRangeSet(delivered.size() |