Repository: qpid-jms Updated Branches: refs/heads/master 516d91087 -> 81fc1e5d2
Add some variations of anonymous send tests. Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/263c93d8 Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/263c93d8 Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/263c93d8 Branch: refs/heads/master Commit: 263c93d84958f51ae6cc1875edc15af6f5a49fad Parents: 516d910 Author: Timothy Bish <tabish...@gmail.com> Authored: Fri Oct 3 16:38:17 2014 -0400 Committer: Timothy Bish <tabish...@gmail.com> Committed: Fri Oct 3 16:38:17 2014 -0400 ---------------------------------------------------------------------- .../jms/producer/JmsAnonymousProducerTest.java | 62 +++++++++++++++----- 1 file changed, 48 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/263c93d8/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/producer/JmsAnonymousProducerTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/producer/JmsAnonymousProducerTest.java b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/producer/JmsAnonymousProducerTest.java index 04b954a..301018e 100644 --- a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/producer/JmsAnonymousProducerTest.java +++ b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/producer/JmsAnonymousProducerTest.java @@ -20,6 +20,9 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import java.util.ArrayList; +import java.util.List; + import javax.jms.Message; import javax.jms.MessageProducer; import javax.jms.Queue; @@ -27,6 +30,7 @@ import javax.jms.Session; import org.apache.activemq.broker.jmx.QueueViewMBean; import org.apache.qpid.jms.support.AmqpTestSupport; +import org.apache.qpid.jms.util.StopWatch; import org.junit.Test; /** @@ -66,28 +70,58 @@ public class JmsAnonymousProducerTest extends AmqpTestSupport { } @Test(timeout = 60000) - public void testAnonymousSendToMultipleDestinations() throws Exception { + public void testAnonymousSendToThreeDestinations() throws Exception { + StopWatch timer = new StopWatch(); + doTestAnonymousProducerSendToMultipleDests(3, 1); + LOG.info("Time to send to three destinations: {} ms", timer.taken()); + } + + @Test(timeout = 60000) + public void testAnonymousSendToTenDestinations() throws Exception { + StopWatch timer = new StopWatch(); + doTestAnonymousProducerSendToMultipleDests(10, 1); + LOG.info("Time to send to ten destinations: {} ms", timer.taken()); + } + + @Test(timeout = 60000) + public void testAnonymousSendToOneHundredDestinations() throws Exception { + StopWatch timer = new StopWatch(); + doTestAnonymousProducerSendToMultipleDests(100, 1); + LOG.info("Time to send to one hundred destinations: {} ms", timer.taken()); + } + + @Test(timeout = 60000) + public void testAnonymousSendToTenDestinationsTenTimes() throws Exception { + StopWatch timer = new StopWatch(); + doTestAnonymousProducerSendToMultipleDests(10, 10); + LOG.info("Time to send to ten destinations ten times: {} ms", timer.taken()); + } + + public void doTestAnonymousProducerSendToMultipleDests(int numDestinations, int numIterations) throws Exception { connection = createAmqpConnection(); assertNotNull(connection); connection.start(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); - Queue queue1 = session.createQueue(name.getMethodName() + 1); - Queue queue2 = session.createQueue(name.getMethodName() + 2); - Queue queue3 = session.createQueue(name.getMethodName() + 3); + + List<Queue> queues = new ArrayList<Queue>(numDestinations); + for (int i = 0; i < numDestinations; ++i) { + queues.add(session.createQueue(name.getMethodName() + i)); + } + assertNotNull(session); MessageProducer producer = session.createProducer(null); - Message message = session.createMessage(); - producer.send(queue1, message); - producer.send(queue2, message); - producer.send(queue3, message); + for (int iteration = 1; iteration <= numIterations; ++iteration) { + Message message = session.createMessage(); + for (int i = 0; i < numDestinations; ++i) { + producer.send(queues.get(i), message); + } - QueueViewMBean proxy = getProxyToQueue(name.getMethodName() + 1); - assertEquals(1, proxy.getQueueSize()); - proxy = getProxyToQueue(name.getMethodName() + 2); - assertEquals(1, proxy.getQueueSize()); - proxy = getProxyToQueue(name.getMethodName() + 3); - assertEquals(1, proxy.getQueueSize()); + for (int i = 0; i < numDestinations; ++i) { + QueueViewMBean proxy = getProxyToQueue(queues.get(i).getQueueName()); + assertEquals(iteration, proxy.getQueueSize()); + } + } } } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org