[jboss-cvs] JBoss Messaging SVN: r6189 - trunk/tests/src/org/jboss/messaging/tests/integration/client.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Mar 27 05:15:07 EDT 2009
Author: timfox
Date: 2009-03-27 05:15:07 -0400 (Fri, 27 Mar 2009)
New Revision: 6189
Modified:
trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientConsumerWindowSizeTest.java
Log:
Added better slow consumer test
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientConsumerWindowSizeTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientConsumerWindowSizeTest.java 2009-03-26 21:45:40 UTC (rev 6188)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/client/ClientConsumerWindowSizeTest.java 2009-03-27 09:15:07 UTC (rev 6189)
@@ -44,8 +44,6 @@
public final SimpleString queueC = new SimpleString("queueC");
- private final SimpleString groupTestQ = new SimpleString("testGroupQueue");
-
/*
* tests send window size. we do this by having 2 receivers on the q. since we roundrobin the consumer for delivery we
* know if consumer 1 has received n messages then consumer 2 must have also have received n messages or at least up
@@ -140,13 +138,13 @@
session.commit();
- for (int i = 0; i < numberOfMessages -1; i++)
+ for (int i = 0; i < numberOfMessages - 1; i++)
{
ClientMessage msg = cons1.receive(1000);
assertNotNull("expected message at i = " + i, msg);
msg.acknowledge();
}
-
+
ClientMessage msg = consNeverUsed.receive(500);
assertNotNull(msg);
msg.acknowledge();
@@ -177,4 +175,136 @@
}
}
+ // A better slow consumer test
+
+ //Commented out until behaviour is fixed
+// public void testSlowConsumer2() throws Exception
+// {
+// MessagingService service = createService(false);
+//
+// ClientSession session1 = null;
+// ClientSession session2 = null;
+//
+// try
+// {
+// final int numberOfMessages = 100;
+//
+// service.start();
+//
+// ClientSessionFactory sf = createInVMFactory();
+//
+// sf.setConsumerWindowSize(1);
+//
+// session1 = sf.createSession(false, true, true);
+//
+// session2 = sf.createSession(false, true, true);
+//
+// session1.start();
+//
+// session2.start();
+//
+// SimpleString ADDRESS = new SimpleString("some-queue");
+//
+// session1.createQueue(ADDRESS, ADDRESS, true);
+//
+// ClientConsumer cons1 = session1.createConsumer(ADDRESS);
+//
+// //Note we make sure we send the messages *before* cons2 is created
+//
+// ClientProducer prod = session1.createProducer(ADDRESS);
+//
+// for (int i = 0; i < numberOfMessages; i++)
+// {
+// prod.send(createTextMessage(session1, "Msg" + i));
+// }
+//
+// ClientConsumer cons2 = session2.createConsumer(ADDRESS);
+//
+// for (int i = 0; i < numberOfMessages; i += 2)
+// {
+// ClientMessage msg = cons1.receive(1000);
+// assertNotNull("expected message at i = " + i, msg);
+//
+// assertEquals("Msg" + i, msg.getBody().readString());
+//
+// msg.acknowledge();
+// }
+//
+// for (int i = 1; i < numberOfMessages; i += 2)
+// {
+// ClientMessage msg = cons2.receive(1000);
+//
+// assertNotNull("expected message at i = " + i, msg);
+//
+// assertEquals("Msg" + i, msg.getBody().readString());
+//
+// msg.acknowledge();
+// }
+//
+// assertEquals(0, getMessageCount(service, ADDRESS.toString()));
+//
+// //This should also work the other way around
+//
+// cons1.close();
+//
+// cons2.close();
+//
+// cons1 = session1.createConsumer(ADDRESS);
+//
+// //Note we make sure we send the messages *before* cons2 is created
+//
+// for (int i = 0; i < numberOfMessages; i++)
+// {
+// prod.send(createTextMessage(session1, "Msg" + i));
+// }
+//
+// cons2 = session2.createConsumer(ADDRESS);
+//
+// //Now we receive on cons2 first
+//
+// for (int i = 0; i < numberOfMessages; i += 2)
+// {
+// ClientMessage msg = cons2.receive(1000);
+// assertNotNull("expected message at i = " + i, msg);
+//
+// assertEquals("Msg" + i, msg.getBody().readString());
+//
+// msg.acknowledge();
+// }
+//
+// for (int i = 1; i < numberOfMessages; i += 2)
+// {
+// ClientMessage msg = cons1.receive(1000);
+//
+// assertNotNull("expected message at i = " + i, msg);
+//
+// assertEquals("Msg" + i, msg.getBody().readString());
+//
+// msg.acknowledge();
+// }
+//
+// assertEquals(0, getMessageCount(service, ADDRESS.toString()));
+//
+//
+// }
+// finally
+// {
+// try
+// {
+// if (session1 != null)
+// session1.close();
+// if (session2 != null)
+// session2.close();
+// }
+// catch (Exception ignored)
+// {
+// }
+//
+// if (service.isStarted())
+// {
+// service.stop();
+// }
+// }
+// }
+
}
More information about the jboss-cvs-commits
mailing list