From 4fa10356f09908d8cfb9fd4448983ac6d7e80ee7 Mon Sep 17 00:00:00 2001 From: Timothy Bish Date: Tue, 19 Aug 2014 14:37:30 -0400 Subject: [PATCH] Fix test, remote broker only dequeues the message if it is ack'd otherwise it remains in-flight. --- .../activemq/network/DemandForwardingBridgeTest.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) 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 020a5111b4..02b207c404 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()); }