You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ra...@apache.org on 2010/01/22 07:48:31 UTC

svn commit: r902009 - in /activemq/trunk/activemq-core/src: main/java/org/apache/activemq/network/ConduitBridge.java test/java/org/apache/activemq/usecases/ThreeBrokerQueueNetworkTest.java

Author: rajdavies
Date: Fri Jan 22 06:48:29 2010
New Revision: 902009

URL: http://svn.apache.org/viewvc?rev=902009&view=rev
Log:
Fix for http://issues.apache.org/activemq/browse/AMQ-2530

Modified:
    activemq/trunk/activemq-core/src/main/java/org/apache/activemq/network/ConduitBridge.java
    activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/ThreeBrokerQueueNetworkTest.java

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/network/ConduitBridge.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/network/ConduitBridge.java?rev=902009&r1=902008&r2=902009&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/network/ConduitBridge.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/network/ConduitBridge.java Fri Jan 22 06:48:29 2010
@@ -21,7 +21,6 @@
 import java.util.Arrays;
 import java.util.Iterator;
 import java.util.List;
-
 import org.apache.activemq.command.BrokerId;
 import org.apache.activemq.command.ConsumerId;
 import org.apache.activemq.command.ConsumerInfo;
@@ -48,6 +47,7 @@
         super(configuration, localBroker, remoteBroker);
     }
 
+    @Override
     protected DemandSubscription createDemandSubscription(ConsumerInfo info) throws IOException {
         if (addToAlreadyInterestedConsumers(info)) {
             return null; // don't want this subscription added
@@ -94,7 +94,9 @@
         return matched;
     }
 
+    @Override
     protected void removeDemandSubscription(ConsumerId id) throws IOException {
+        super.removeDemandSubscription(id);
         List<DemandSubscription> tmpList = new ArrayList<DemandSubscription>();
 
         for (Iterator i = subscriptionMapByLocalId.values().iterator(); i.hasNext();) {

Modified: activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/ThreeBrokerQueueNetworkTest.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/ThreeBrokerQueueNetworkTest.java?rev=902009&r1=902008&r2=902009&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/ThreeBrokerQueueNetworkTest.java (original)
+++ activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/ThreeBrokerQueueNetworkTest.java Fri Jan 22 06:48:29 2010
@@ -23,10 +23,8 @@
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
-
 import javax.jms.Destination;
 import javax.jms.MessageConsumer;
-
 import org.apache.activemq.JmsMultipleBrokersTestSupport;
 import org.apache.activemq.broker.Broker;
 import org.apache.activemq.broker.BrokerFilter;
@@ -367,7 +365,14 @@
         assertEquals(messageCount, msgsA.getMessageCount());
     }
     
-    public void testMigrateConsumerStuckMessages() throws Exception {
+    /*
+     * This test is disabled - as it fails with a fix for 
+     * http://issues.apache.org/activemq/browse/AMQ-2530 - which highlights that 
+     * For a Conduit bridge - local subscription Ids weren't removed in a ConduitBridge
+     * The test fails because on closing clientA - clientB correctly receives all the 
+     * messages - ie. half dont get stuck on BrokerA - 
+     */
+    public void XtestMigrateConsumerStuckMessages() throws Exception {
         boolean suppressQueueDuplicateSubscriptions = false;
         bridgeAllBrokers("default", 3, suppressQueueDuplicateSubscriptions);
         startAllBrokers();
@@ -626,6 +631,7 @@
         }
     }
     
+    @Override
     public void setUp() throws Exception {
         super.setAutoFail(true);
         super.setUp();