You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by de...@apache.org on 2010/06/10 18:39:27 UTC

svn commit: r953382 - /activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/DurableTopicSubscription.java

Author: dejanb
Date: Thu Jun 10 16:39:27 2010
New Revision: 953382

URL: http://svn.apache.org/viewvc?rev=953382&view=rev
Log:
https://issues.apache.org/activemq/browse/AMQ-2665 - additional fix

Modified:
    activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/DurableTopicSubscription.java

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/DurableTopicSubscription.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/DurableTopicSubscription.java?rev=953382&r1=953381&r2=953382&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/DurableTopicSubscription.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/DurableTopicSubscription.java Thu Jun 10 16:39:27 2010
@@ -72,11 +72,11 @@ public class DurableTopicSubscription ex
     }
 
     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 ex
                 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 ex
                 topic.deactivate(context, this);
             }
         }
+        
         for (final MessageReference node : dispatched) {
             // Mark the dispatched messages as redelivered for next time.
             Integer count = redeliveredMessages.get(node.getMessageId());