From c5901c4870cddd33c47b2fb20922fa121c97801b Mon Sep 17 00:00:00 2001 From: Rajith Muditha Attapattu Date: Tue, 31 Jan 2012 16:41:48 +0000 Subject: QPID-3604 Moved the draining of consumer queues further down to be done after we drain the dispatch queue. Since the message flow is now stopped we can drain the queues without grabbing the message-delivery-lock. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1238688 13f79535-47bb-0310-9956-ffa450edef68 --- .../main/java/org/apache/qpid/client/AMQSession_0_10.java | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'java/client/src') 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 tags = consumer.drainReceiverQueueAndRetrieveDeliveryTags(); - getPrefetchedMessageTags().addAll(tags); - } - } setUsingDispatcherForCleanup(true); drainDispatchQueue(); setUsingDispatcherForCleanup(false); + for (BasicMessageConsumer consumer : getConsumers().values()) + { + List tags = consumer.drainReceiverQueueAndRetrieveDeliveryTags(); + getPrefetchedMessageTags().addAll(tags); + } + RangeSet delivered = gatherRangeSet(getUnacknowledgedMessageTags()); RangeSet prefetched = gatherRangeSet(getPrefetchedMessageTags()); RangeSet all = RangeSetFactory.createRangeSet(delivered.size() -- cgit v1.2.1