[jboss-cvs] JBoss Messaging SVN: r1668 - branches/Branch_1_0_1_SP/tests/src/org/jboss/test/messaging/jms/stress
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Nov 30 19:16:46 EST 2006
Author: clebert.suconic at jboss.com
Date: 2006-11-30 19:16:45 -0500 (Thu, 30 Nov 2006)
New Revision: 1668
Modified:
branches/Branch_1_0_1_SP/tests/src/org/jboss/test/messaging/jms/stress/ConcurrentCloseStressTest.java
Log:
http://jira.jboss.com/jira/browse/JBMESSAGING-660 - Just adding few counters
Modified: branches/Branch_1_0_1_SP/tests/src/org/jboss/test/messaging/jms/stress/ConcurrentCloseStressTest.java
===================================================================
--- branches/Branch_1_0_1_SP/tests/src/org/jboss/test/messaging/jms/stress/ConcurrentCloseStressTest.java 2006-12-01 00:09:21 UTC (rev 1667)
+++ branches/Branch_1_0_1_SP/tests/src/org/jboss/test/messaging/jms/stress/ConcurrentCloseStressTest.java 2006-12-01 00:16:45 UTC (rev 1668)
@@ -133,6 +133,25 @@
}
}
+ int messagesProduced=0;
+ int messagesRead=0;
+ for (int i = 0; i < producerThread.length; i++)
+ {
+ messagesProduced += producerThread[i].messagesProduced;
+ }
+
+ for (int i = 0; i < producerThread.length; i++)
+ {
+ messagesRead += readerThread[i].messagesRead;
+ }
+
+ log.info("The test produced " + messagesProduced + " and read " + messagesRead);
+
+ // This test bounces between commits and rollbacks in between several threads...
+ // The test is then non deterministic to provide a counter... I will keep the log.info
+ // but won't be doing an assertion here
+ //assertEquals("Messages Produced must be the same as Messages Read", messagesProduced, messagesRead);
+
if (hasFailure)
{
fail ("An exception has occurred in one of the threads");
@@ -144,6 +163,7 @@
{
ArrayList exceptions = new ArrayList();
protected int index;
+ public int messageCount = 0;
}
@@ -154,6 +174,8 @@
Queue queue;
+ int messagesRead = 0;
+
public ReaderThread(int index, Connection conn, Queue queue) throws Exception
{
this.index = index;
@@ -164,16 +186,15 @@
public void run()
{
- int messageCounter = 0;
int commitCounter = 0;
try
{
Session session = conn.createSession(true, Session.SESSION_TRANSACTED);
MessageConsumer consumer = session.createConsumer((Destination)queue);
+ int lastCount = messageCount;
while (true)
{
- messageCounter++;
TextMessage message = (TextMessage) consumer.receive(5000);
if (message == null)
{
@@ -184,16 +205,21 @@
// alternating commits and rollbacks
if ( (commitCounter++) % 2 == 0)
{
+ messagesRead += (messageCount - lastCount);
+ lastCount = messageCount;
log.debug("commit");
session.commit();
}
else
{
+ lastCount = messageCount;
log.debug("rollback");
session.rollback();
}
- if (messageCounter%7 == 0)
+ messageCount++;
+
+ if (messageCount %7 == 0)
{
session.close();
@@ -201,12 +227,14 @@
consumer = session.createConsumer((Destination)queue);
}
- if (messageCounter % 50 == 0)
+ if (messageCount % 50 == 0)
{
- log.info("Reader " + index + " read " + messageCounter + " messages");
+ log.info("Reader " + index + " read " + messageCount + " messages");
}
}
+ messagesRead += (messageCount - lastCount);
+
session.commit();
consumer.close();
session.close();
@@ -229,7 +257,7 @@
Connection conn;
Queue queue;
- private int messageCount;
+ int messagesProduced=0;
public ProducerThread(int index, Connection conn, Queue queue) throws Exception
{
@@ -245,27 +273,32 @@
{
try
{
+ int lastMessage = messageCount;
Session sess = conn.createSession(true, Session.SESSION_TRANSACTED);
MessageProducer producer = sess.createProducer((Destination)queue);
for (int j = 0; j < 20; j++)
{
- messageCount ++;
producer.send(sess.createTextMessage("Message " + i + ", " + j));
if (j % 2 == 0)
{
log.debug("commit");
+ messagesProduced += (messageCount - lastMessage);
+ lastMessage = messageCount;
sess.commit();
}
else
{
log.debug("rollback");
+ lastMessage = messageCount;
sess.rollback();
}
+ messageCount ++;
}
+ messagesProduced += ((messageCount) - lastMessage);
sess.commit();
sess.close();
More information about the jboss-cvs-commits
mailing list