You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ha...@apache.org on 2014/12/18 03:41:43 UTC

[13/17] activemq git commit: Fix test, remote broker only dequeues the message if it is ack'd otherwise it remains in-flight.

Fix test, remote broker only dequeues the message if it is ack'd
otherwise it remains in-flight.


Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/0a6e217f
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/0a6e217f
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/0a6e217f

Branch: refs/heads/activemq-5.10.x
Commit: 0a6e217fd65d0f25778ddaf78fcbb28bdf8b1b8d
Parents: 58be712
Author: Timothy Bish <ta...@gmail.com>
Authored: Tue Aug 19 14:37:30 2014 -0400
Committer: Hadrian Zbarcea <ha...@apache.org>
Committed: Wed Dec 17 19:47:31 2014 -0500

----------------------------------------------------------------------
 .../activemq/network/DemandForwardingBridgeTest.java    | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq/blob/0a6e217f/activemq-unit-tests/src/test/java/org/apache/activemq/network/DemandForwardingBridgeTest.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/network/DemandForwardingBridgeTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/network/DemandForwardingBridgeTest.java
index 020a511..02b207c 100755
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/network/DemandForwardingBridgeTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/network/DemandForwardingBridgeTest.java
@@ -26,6 +26,7 @@ import org.apache.activemq.command.ActiveMQDestination;
 import org.apache.activemq.command.ConnectionInfo;
 import org.apache.activemq.command.ConsumerInfo;
 import org.apache.activemq.command.Message;
+import org.apache.activemq.command.MessageAck;
 import org.apache.activemq.command.ProducerInfo;
 import org.apache.activemq.command.SessionInfo;
 import org.apache.activemq.util.Wait;
@@ -80,14 +81,20 @@ public class DemandForwardingBridgeTest extends NetworkTestSupport {
 
         // Now create remote consumer that should cause message to move to this
         // remote consumer.
-        ConsumerInfo consumerInfo2 = createConsumerInfo(sessionInfo2, destination);
+        final ConsumerInfo consumerInfo2 = createConsumerInfo(sessionInfo2, destination);
         connection2.request(consumerInfo2);
 
         // Make sure the message was delivered via the remote.
         assertTrue("message was received", Wait.waitFor(new Wait.Condition() {
             @Override
             public boolean isSatisified() throws Exception {
-                return receiveMessage(connection2) != null;
+                Message msg = receiveMessage(connection2);
+                if (msg != null) {
+                    connection2.request(createAck(consumerInfo2, msg, 1, MessageAck.STANDARD_ACK_TYPE));
+                    return true;
+                }
+
+                return false;
             }
         }));
 
@@ -97,6 +104,7 @@ public class DemandForwardingBridgeTest extends NetworkTestSupport {
                 return 1 == destinationStatistics.getForwards().getCount();
             }
         }));
+
         assertEquals("broker dest stat dequeues", 1, destinationStatistics.getDequeues().getCount());
         assertEquals("remote broker dest stat dequeues", 1, remoteBroker.getDestination(destination).getDestinationStatistics().getDequeues().getCount());
     }