[jboss-cvs] JBoss Messaging SVN: r4141 - projects/jms-perf/src/java/jms.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Apr 30 12:52:09 EDT 2008
Author: jmesnil
Date: 2008-04-30 12:52:09 -0400 (Wed, 30 Apr 2008)
New Revision: 4141
Modified:
projects/jms-perf/src/java/jms/ActiveMQPerfTest.java
projects/jms-perf/src/java/jms/JBMessagingPerfTest.java
projects/jms-perf/src/java/jms/JMSTestBase.java
projects/jms-perf/src/java/jms/QpidPerfTest.java
Log:
added test for dups ok ack + different sessions for producer & consumer
Modified: projects/jms-perf/src/java/jms/ActiveMQPerfTest.java
===================================================================
--- projects/jms-perf/src/java/jms/ActiveMQPerfTest.java 2008-04-30 14:18:11 UTC (rev 4140)
+++ projects/jms-perf/src/java/jms/ActiveMQPerfTest.java 2008-04-30 16:52:09 UTC (rev 4141)
@@ -23,28 +23,46 @@
// Public --------------------------------------------------------
+ public void testDupsOkAck_NonPersistent() throws Exception
+ {
+ Properties props = getActiveMQProperties();
+ sendAndReceiveManyMessages(props, Session.DUPS_OK_ACKNOWLEDGE,
+ DeliveryMode.NON_PERSISTENT);
+ }
+
public void testAutoAck_NonPersistent() throws Exception
{
Properties props = getActiveMQProperties();
- sendAndReceiveManyMessages(props, Session.AUTO_ACKNOWLEDGE, DeliveryMode.NON_PERSISTENT);
+ sendAndReceiveManyMessages(props, Session.AUTO_ACKNOWLEDGE,
+ DeliveryMode.NON_PERSISTENT);
}
public void testClientAck_NonPersistent() throws Exception
{
Properties props = getActiveMQProperties();
- sendAndReceiveManyMessages(props, Session.CLIENT_ACKNOWLEDGE, DeliveryMode.NON_PERSISTENT);
+ sendAndReceiveManyMessages(props, Session.CLIENT_ACKNOWLEDGE,
+ DeliveryMode.NON_PERSISTENT);
}
+ public void testDupsOkAck_Persistent() throws Exception
+ {
+ Properties props = getActiveMQProperties();
+ sendAndReceiveManyMessages(props, Session.DUPS_OK_ACKNOWLEDGE,
+ DeliveryMode.PERSISTENT);
+ }
+
public void testAutoAck_Persistent() throws Exception
{
Properties props = getActiveMQProperties();
- sendAndReceiveManyMessages(props, Session.AUTO_ACKNOWLEDGE, DeliveryMode.PERSISTENT);
+ sendAndReceiveManyMessages(props, Session.AUTO_ACKNOWLEDGE,
+ DeliveryMode.PERSISTENT);
}
public void testClientAck_Persistent() throws Exception
{
Properties props = getActiveMQProperties();
- sendAndReceiveManyMessages(props, Session.CLIENT_ACKNOWLEDGE, DeliveryMode.PERSISTENT);
+ sendAndReceiveManyMessages(props, Session.CLIENT_ACKNOWLEDGE,
+ DeliveryMode.PERSISTENT);
}
// Package protected ---------------------------------------------
Modified: projects/jms-perf/src/java/jms/JBMessagingPerfTest.java
===================================================================
--- projects/jms-perf/src/java/jms/JBMessagingPerfTest.java 2008-04-30 14:18:11 UTC (rev 4140)
+++ projects/jms-perf/src/java/jms/JBMessagingPerfTest.java 2008-04-30 16:52:09 UTC (rev 4141)
@@ -23,28 +23,46 @@
// Public --------------------------------------------------------
+ public void testDupsOkAck_NonPersistent() throws Exception
+ {
+ Properties props = getJBMessagingProperties();
+ sendAndReceiveManyMessages(props, Session.DUPS_OK_ACKNOWLEDGE,
+ DeliveryMode.NON_PERSISTENT);
+ }
+
public void testAutoAck_NonPersistent() throws Exception
{
Properties props = getJBMessagingProperties();
- sendAndReceiveManyMessages(props, Session.AUTO_ACKNOWLEDGE, DeliveryMode.NON_PERSISTENT);
+ sendAndReceiveManyMessages(props, Session.AUTO_ACKNOWLEDGE,
+ DeliveryMode.NON_PERSISTENT);
}
public void testClientAck_NonPersistent() throws Exception
{
Properties props = getJBMessagingProperties();
- sendAndReceiveManyMessages(props, Session.CLIENT_ACKNOWLEDGE, DeliveryMode.NON_PERSISTENT);
+ sendAndReceiveManyMessages(props, Session.CLIENT_ACKNOWLEDGE,
+ DeliveryMode.NON_PERSISTENT);
}
+ public void testDupsOkAck_Persistent() throws Exception
+ {
+ Properties props = getJBMessagingProperties();
+ sendAndReceiveManyMessages(props, Session.DUPS_OK_ACKNOWLEDGE,
+ DeliveryMode.PERSISTENT);
+ }
+
public void testAutoAck_Persistent() throws Exception
{
Properties props = getJBMessagingProperties();
- sendAndReceiveManyMessages(props, Session.AUTO_ACKNOWLEDGE, DeliveryMode.PERSISTENT);
+ sendAndReceiveManyMessages(props, Session.AUTO_ACKNOWLEDGE,
+ DeliveryMode.PERSISTENT);
}
public void testClientAck_Persistent() throws Exception
{
Properties props = getJBMessagingProperties();
- sendAndReceiveManyMessages(props, Session.CLIENT_ACKNOWLEDGE, DeliveryMode.PERSISTENT);
+ sendAndReceiveManyMessages(props, Session.CLIENT_ACKNOWLEDGE,
+ DeliveryMode.PERSISTENT);
}
// Package protected ---------------------------------------------
Modified: projects/jms-perf/src/java/jms/JMSTestBase.java
===================================================================
--- projects/jms-perf/src/java/jms/JMSTestBase.java 2008-04-30 14:18:11 UTC (rev 4140)
+++ projects/jms-perf/src/java/jms/JMSTestBase.java 2008-04-30 16:52:09 UTC (rev 4141)
@@ -151,15 +151,16 @@
conn.start();
info("started connection");
- Session session = conn.createSession(false, ackMode);
- info("created session");
- // assertQueueIsEmpty(session, queue);
-
- MessageConsumer consumer = session.createConsumer(queue);
- MessageProducer producer = session.createProducer(queue);
+ Session consumerSession = conn.createSession(false, ackMode);
+ Session producerSession = conn.createSession(false, ackMode);
+ info("created consumer session");
+
+ MessageConsumer consumer = consumerSession.createConsumer(queue);
+ MessageProducer producer = producerSession.createProducer(queue);
producer.setDeliveryMode(deliveryMode);
- warmup(producer, consumer, session.createMessage(), ackMode);
+ vacuumQueue(consumer, ackMode);
+ warmup(producer, consumer, producerSession.createMessage(), ackMode);
final AtomicLong receivedCount = new AtomicLong(0);
@@ -184,7 +185,7 @@
}
});
- Message message = session.createTextMessage(TEXT);
+ Message message = producerSession.createTextMessage(TEXT);
long sentCount = 0;
while((System.currentTimeMillis() - start) < DURATION)
@@ -200,7 +201,6 @@
}
assertEquals(sentCount, receivedCount.longValue());
- //assertQueueIsEmpty(session, queue);
long duration = System.currentTimeMillis() - start;
display(sentCount, receivedCount.longValue(), duration);
@@ -215,12 +215,24 @@
// Private -------------------------------------------------------
+ private void vacuumQueue(MessageConsumer consumer, int ackMode) throws Exception
+ {
+ Message m;
+ do
+ {
+ m = consumer.receive(1000);
+ if (m != null && ackMode == Session.CLIENT_ACKNOWLEDGE)
+ m.acknowledge();
+ } while (m != null);
+ info("queue is vacuumed");
+ }
+
private void warmup(MessageProducer producer, MessageConsumer consumer, Message message, int ackMode) throws JMSException
{
for (int i = 0; i < MESSAGES_WARMUP; i++)
{
producer.send(message);
- Message m = consumer.receive(1000);
+ Message m = consumer.receive(10000);
assertNotNull(m);
if (ackMode == Session.CLIENT_ACKNOWLEDGE)
m.acknowledge();
@@ -230,22 +242,10 @@
private void info(String info)
{
- if (true)
+ if (false)
System.out.println(info);
}
- private void assertQueueIsEmpty(Session session, Queue queue) throws Exception
- {
- QueueBrowser browser = session.createBrowser(queue);
- Enumeration enumeration = browser.getEnumeration();
- if (enumeration.hasMoreElements())
- {
- fail(queue + "is not empty");
- }
- browser.close();
- info(queue + " is empty");
- }
-
private void display(long requestCount, long responseCount, long periodInMs)
{
String name = getName().replace("test", "").replace('_', ' ');
Modified: projects/jms-perf/src/java/jms/QpidPerfTest.java
===================================================================
--- projects/jms-perf/src/java/jms/QpidPerfTest.java 2008-04-30 14:18:11 UTC (rev 4140)
+++ projects/jms-perf/src/java/jms/QpidPerfTest.java 2008-04-30 16:52:09 UTC (rev 4141)
@@ -23,30 +23,48 @@
// Public --------------------------------------------------------
+ public void testDupsOkAck_NonPersistent() throws Exception
+ {
+ Properties props = getQpidProperties();
+ sendAndReceiveManyMessages(props, Session.DUPS_OK_ACKNOWLEDGE,
+ DeliveryMode.NON_PERSISTENT);
+ }
+
public void testAutoAck_NonPersistent() throws Exception
{
Properties props = getQpidProperties();
- sendAndReceiveManyMessages(props, Session.AUTO_ACKNOWLEDGE, DeliveryMode.NON_PERSISTENT);
+ sendAndReceiveManyMessages(props, Session.AUTO_ACKNOWLEDGE,
+ DeliveryMode.NON_PERSISTENT);
}
public void testClientAck_NonPersistent() throws Exception
{
Properties props = getQpidProperties();
- sendAndReceiveManyMessages(props, Session.CLIENT_ACKNOWLEDGE, DeliveryMode.NON_PERSISTENT);
+ sendAndReceiveManyMessages(props, Session.CLIENT_ACKNOWLEDGE,
+ DeliveryMode.NON_PERSISTENT);
}
+ public void testDupsOkAck_Persistent() throws Exception
+ {
+ Properties props = getQpidProperties();
+ sendAndReceiveManyMessages(props, Session.DUPS_OK_ACKNOWLEDGE,
+ DeliveryMode.PERSISTENT);
+ }
+
public void testAutoAck_Persistent() throws Exception
{
Properties props = getQpidProperties();
- sendAndReceiveManyMessages(props, Session.AUTO_ACKNOWLEDGE, DeliveryMode.PERSISTENT);
+ sendAndReceiveManyMessages(props, Session.AUTO_ACKNOWLEDGE,
+ DeliveryMode.PERSISTENT);
}
public void testClientAck_Persistent() throws Exception
{
Properties props = getQpidProperties();
- sendAndReceiveManyMessages(props, Session.CLIENT_ACKNOWLEDGE, DeliveryMode.PERSISTENT);
+ sendAndReceiveManyMessages(props, Session.CLIENT_ACKNOWLEDGE,
+ DeliveryMode.PERSISTENT);
}
-
+
// Package protected ---------------------------------------------
// Protected -----------------------------------------------------
More information about the jboss-cvs-commits
mailing list