From bb17d6151665c040e5960598403168f7bf5669ec Mon Sep 17 00:00:00 2001 From: Bosanac Dejan Date: Thu, 10 Jun 2010 16:39:27 +0000 Subject: [PATCH] https://issues.apache.org/activemq/browse/AMQ-2665 - additional fix git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@953382 13f79535-47bb-0310-9956-ffa450edef68 --- .../activemq/broker/region/DurableTopicSubscription.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/activemq-core/src/main/java/org/apache/activemq/broker/region/DurableTopicSubscription.java b/activemq-core/src/main/java/org/apache/activemq/broker/region/DurableTopicSubscription.java index bc2fe72058..a9f80d4c06 100755 --- a/activemq-core/src/main/java/org/apache/activemq/broker/region/DurableTopicSubscription.java +++ b/activemq-core/src/main/java/org/apache/activemq/broker/region/DurableTopicSubscription.java @@ -72,11 +72,11 @@ public class DurableTopicSubscription extends PrefetchSubscription implements Us } public void add(ConnectionContext context, Destination destination) throws Exception { + super.add(context, destination); // do it just once per destination if (destinations.containsKey(destination.getActiveMQDestination())) { return; } - super.add(context, destination); destinations.put(destination.getActiveMQDestination(), destination); if (destination.getMessageStore() != null) { TopicMessageStore store = (TopicMessageStore)destination.getMessageStore(); @@ -123,7 +123,6 @@ public class DurableTopicSubscription extends PrefetchSubscription implements Us pending.setSystemUsage(memoryManager); pending.setMemoryUsageHighWaterMark(getCursorMemoryHighWaterMark()); pending.start(); - // If nothing was in the persistent store, then try to use the // recovery policy. if (pending.isEmpty()) { @@ -151,6 +150,7 @@ public class DurableTopicSubscription extends PrefetchSubscription implements Us topic.deactivate(context, this); } } + for (final MessageReference node : dispatched) { // Mark the dispatched messages as redelivered for next time. Integer count = redeliveredMessages.get(node.getMessageId());