Repository: activemq Updated Branches: refs/heads/master 4e60075a3 -> bbb17da52
https://issues.apache.org/jira/browse/AMQ-6147 Add a test that can reproduce an issue seen when emitFlowOnSend is disabled on the proton transport to allow for further investigation. Project: http://git-wip-us.apache.org/repos/asf/activemq/repo Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/bbb17da5 Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/bbb17da5 Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/bbb17da5 Branch: refs/heads/master Commit: bbb17da52f0c09bb0d8ab98815e95d7ca06109ca Parents: 4e60075 Author: Timothy Bish <[email protected]> Authored: Thu Feb 18 16:07:59 2016 -0500 Committer: Timothy Bish <[email protected]> Committed: Thu Feb 18 16:07:59 2016 -0500 ---------------------------------------------------------------------- .../activemq/transport/amqp/JMSClientTest.java | 28 ++++++++++++++++++++ 1 file changed, 28 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/activemq/blob/bbb17da5/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/JMSClientTest.java ---------------------------------------------------------------------- diff --git a/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/JMSClientTest.java b/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/JMSClientTest.java index e4b8d7a..647ff13 100644 --- a/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/JMSClientTest.java +++ b/activemq-amqp/src/test/java/org/apache/activemq/transport/amqp/JMSClientTest.java @@ -57,6 +57,7 @@ import org.apache.activemq.broker.jmx.ConnectorViewMBean; import org.apache.activemq.broker.jmx.QueueViewMBean; import org.apache.activemq.transport.amqp.joram.ActiveMQAdmin; import org.apache.activemq.util.Wait; +import org.apache.qpid.jms.JmsConnection; import org.junit.Test; import org.objectweb.jtests.jms.framework.TestConfig; import org.slf4j.Logger; @@ -1177,6 +1178,33 @@ public class JMSClientTest extends JMSClientTestSupport { } } + @Test(timeout = 60000) + public void testZeroPrefetchWithTwoConsumers() throws Exception { + connection = createConnection(); + ((JmsConnection)connection).getPrefetchPolicy().setAll(0); + connection.start(); + + Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + Queue queue = session.createQueue(getDestinationName()); + + MessageProducer producer = session.createProducer(queue); + producer.send(session.createTextMessage("Msg1")); + producer.send(session.createTextMessage("Msg2")); + + // now lets receive it + MessageConsumer consumer1 = session.createConsumer(queue); + MessageConsumer consumer2 = session.createConsumer(queue); + TextMessage answer = (TextMessage)consumer1.receive(5000); + assertNotNull(answer); + assertEquals("Should have received a message!", answer.getText(), "Msg1"); + answer = (TextMessage)consumer2.receive(5000); + assertNotNull(answer); + assertEquals("Should have received a message!", answer.getText(), "Msg2"); + + answer = (TextMessage)consumer2.receiveNoWait(); + assertNull("Should have not received a message!", answer); + } + protected void receiveMessages(MessageConsumer consumer) throws Exception { for (int i = 0; i < 10; i++) { Message message = consumer.receive(1000);
