[jboss-cvs] JBossAS SVN: r64257 - branches/Branch_4_4/testsuite/src/main/org/jboss/test/jbossmessaging/test.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Jul 24 13:43:18 EDT 2007
Author: clebert.suconic at jboss.com
Date: 2007-07-24 13:43:18 -0400 (Tue, 24 Jul 2007)
New Revision: 64257
Modified:
branches/Branch_4_4/testsuite/src/main/org/jboss/test/jbossmessaging/test/UnackedUnitTestCase.java
Log:
Fixing test
Modified: branches/Branch_4_4/testsuite/src/main/org/jboss/test/jbossmessaging/test/UnackedUnitTestCase.java
===================================================================
--- branches/Branch_4_4/testsuite/src/main/org/jboss/test/jbossmessaging/test/UnackedUnitTestCase.java 2007-07-24 17:06:05 UTC (rev 64256)
+++ branches/Branch_4_4/testsuite/src/main/org/jboss/test/jbossmessaging/test/UnackedUnitTestCase.java 2007-07-24 17:43:18 UTC (rev 64257)
@@ -76,8 +76,8 @@
// so it must be defined explicitly when running under some JVMs
TestSuite suite = new TestSuite();
suite.addTest(new UnackedUnitTestCase("testUnackedQueue"));
+ suite.addTest(new UnackedUnitTestCase("testUnackedMultipleConnection"));
suite.addTest(new UnackedUnitTestCase("testUnackedMultipleSession"));
- suite.addTest(new UnackedUnitTestCase("testUnackedMultipleConnection"));
suite.addTest(new UnackedUnitTestCase("testUnackedTopic"));
suite.addTest(new UnackedUnitTestCase("testUnackedDurableTopic"));
suite.addTest(new UnackedUnitTestCase("testDummyLast"));
@@ -150,6 +150,7 @@
*/
public void runUnackedMultipleSession(final int persistence) throws Exception
{
+ System.out.println("++ runUnackedMultipleSession");
drainQueue();
final int iterationCount = getIterationCount();
@@ -168,47 +169,71 @@
session.close();
QueueSession session1 = queueConnection.createQueueSession(false, Session.CLIENT_ACKNOWLEDGE);
- queue = (Queue)context.lookup(TEST_QUEUE);
- QueueReceiver receiver1 = session1.createReceiver(queue);
QueueSession session2 = queueConnection.createQueueSession(false, Session.CLIENT_ACKNOWLEDGE);
- QueueReceiver receiver2 = session2.createReceiver(queue);
- queueConnection.start();
-
- // Read half from session1
- int c = 0;
- for (int l = 0; l < iterationCount/2; l++)
+ try
{
- message = receiver1.receive(50);
- if (message != null)
- c++;
+ queue = (Queue)context.lookup(TEST_QUEUE);
+ QueueReceiver receiver1 = session1.createReceiver(queue);
+
+ QueueReceiver receiver2 = session2.createReceiver(queue);
+ queueConnection.start();
+
+ int c1=0, c2=0;
+
+ Message messageConsumer1=null, messageConsumer2=null;
+
+ Message lastMessageConsumer1 = null, lastMessageConsumer2=null;
+
+ do
+ {
+ messageConsumer1 = receiver1.receive(1000);
+ messageConsumer2 = receiver2.receive(1000);
+ if (messageConsumer1 != null)
+ {
+ c1 ++;
+ lastMessageConsumer1 = messageConsumer1;
+ }
+
+ if (messageConsumer2 != null)
+ {
+ c2 ++;
+ lastMessageConsumer2 = messageConsumer2;
+ }
+
+ System.out.println("messageConsumer1=" + messageConsumer1 + " messageConsumer2=" + messageConsumer2 + " c1=" + c1 + " c2 = " + c2);
+ }
+ while (messageConsumer1!=null || messageConsumer2!=null);
+
+ assertEquals(iterationCount, c1 + c2);
+ assertEquals(iterationCount/2,c1);
+ assertEquals(iterationCount/2,c2);
+
+ lastMessageConsumer1.acknowledge();
+ lastMessageConsumer2.acknowledge();
+
+ queueConnection.stop();
+ session1.close();
+ session2.close();
}
- assertTrue("Should have received half data unacked", c == iterationCount/2);
-
- // Read the rest from session2
- c = 0;
- Message lastMessage = null;
- while (message != null)
+ finally
{
- message = receiver2.receive(50);
- if (message != null)
- {
- c++;
- lastMessage = message;
- }
+ try
+ {
+ session1.close();
+ }
+ catch (Throwable ignored)
+ {
+ }
+ try
+ {
+ session2.close();
+ }
+ catch (Throwable ignored)
+ {
+ }
}
- assertTrue("Should have received all data unacked", c == iterationCount - iterationCount/2);
- // Close session1, the messages are unacked and should go back in the queue
- session1.close();
-
- // Acknowledge messages on session2 and close it
- lastMessage.acknowledge();
- session2.close();
-
- queueConnection.stop();
-
- assertTrue("Session1 messages should be available", drainQueue() == iterationCount/2);
-
+ System.out.println("-- runUnackedMultipleSession");
}
/**
@@ -219,6 +244,7 @@
*/
public void runUnackedMultipleConnection(final int persistence) throws Exception
{
+ System.out.println("++runUnackedMultipleConnection");
drainQueue();
final int iterationCount = getIterationCount();
@@ -238,50 +264,61 @@
QueueConnectionFactory queueFactory = (QueueConnectionFactory)context.lookup(QUEUE_FACTORY);
QueueConnection queueConnection1 = queueFactory.createQueueConnection();
- QueueSession session1 = queueConnection1.createQueueSession(false, Session.CLIENT_ACKNOWLEDGE);
- queue = (Queue)context.lookup(TEST_QUEUE);
- QueueReceiver receiver1 = session1.createReceiver(queue);
-
QueueConnection queueConnection2 = queueFactory.createQueueConnection();
- QueueSession session2 = queueConnection2.createQueueSession(false, Session.CLIENT_ACKNOWLEDGE);
- QueueReceiver receiver2 = session2.createReceiver(queue);
- queueConnection1.start();
- queueConnection2.start();
+ try
+ {
+ QueueSession session1 = queueConnection1.createQueueSession(false, Session.CLIENT_ACKNOWLEDGE);
+ queue = (Queue)context.lookup(TEST_QUEUE);
+ QueueReceiver receiver1 = session1.createReceiver(queue);
+
+ QueueSession session2 = queueConnection2.createQueueSession(false, Session.CLIENT_ACKNOWLEDGE);
+ QueueReceiver receiver2 = session2.createReceiver(queue);
+
+ queueConnection1.start();
+ queueConnection2.start();
+
+ int c1=0, c2=0;
+
+ Message messageConsumer1=null, messageConsumer2=null;
+
+ Message lastMessageConsumer1 = null, lastMessageConsumer2=null;
+
+ do
+ {
+ messageConsumer1 = receiver1.receive(100);
+ messageConsumer2 = receiver2.receive(100);
+ if (messageConsumer1 != null)
+ {
+ c1 ++;
+ lastMessageConsumer1 = messageConsumer1;
+ }
+
+ if (messageConsumer2 != null)
+ {
+ c2 ++;
+ lastMessageConsumer2 = messageConsumer2;
+ }
+
+ System.out.println("messageConsumer1=" + messageConsumer1 + " messageConsumer2=" + messageConsumer2 + " c1=" + c1 + " c2 = " + c2);
+ }
+ while (messageConsumer1!=null || messageConsumer2!=null);
- // Read half from session1
- int c = 0;
- for (int l = 0; l < iterationCount/2; l++)
- {
- message = receiver1.receive(50);
- if (message != null)
- c++;
+ if (lastMessageConsumer1!=null) lastMessageConsumer1.acknowledge();
+ if (lastMessageConsumer2!=null) lastMessageConsumer2.acknowledge();
+
+ assertEquals(iterationCount, c1 + c2);
+ assertEquals(iterationCount/2,c1);
+ assertEquals(iterationCount/2,c2);
+
}
- assertTrue("Should have received half data unacked", c == iterationCount/2);
-
- // Read the rest from session2
- Message lastMessage = null;
- c = 0;
- while (message != null)
+ finally
{
- message = receiver2.receive(50);
- if (message != null)
- {
- c++;
- lastMessage = message;
- }
+ try{queueConnection1.close();} catch (Throwable ignored){}
+ try{queueConnection2.close();} catch (Throwable ignored){}
}
- assertTrue("Should have received all data unacked", c == iterationCount - iterationCount/2);
- // Close session1, the messages are unacked and should go back in the queue
- queueConnection1.close();
-
- // Acknowledge messages for connection 2 and close it
- lastMessage.acknowledge();
- queueConnection2.close();
-
- assertTrue("Connection1 messages should be available", drainQueue() == iterationCount/2);
-
+ System.out.println("--runUnackedMultipleConnection");
}
/**
@@ -542,17 +579,22 @@
if (context == null)
{
context = getInitialContext();
+ }
- QueueConnectionFactory queueFactory = (QueueConnectionFactory)context.lookup(QUEUE_FACTORY);
- queueConnection = queueFactory.createQueueConnection();
+ QueueConnectionFactory queueFactory = (QueueConnectionFactory)context.lookup(QUEUE_FACTORY);
+ queueConnection = queueFactory.createQueueConnection();
- TopicConnectionFactory topicFactory = (TopicConnectionFactory)context.lookup(TOPIC_FACTORY);
- topicConnection = topicFactory.createTopicConnection();
- topicDurableConnection = topicFactory.createTopicConnection("john", "needle");
-
- getLog().debug("Connection to JBossMQ established.");
- }
+ TopicConnectionFactory topicFactory = (TopicConnectionFactory)context.lookup(TOPIC_FACTORY);
+ topicConnection = topicFactory.createTopicConnection();
+ topicDurableConnection = topicFactory.createTopicConnection("john", "needle");
}
+
+ protected void tearDown() throws Exception
+ {
+ queueConnection.close();
+ topicConnection.close();
+ topicDurableConnection.close();
+ }
// Emptys out all the messages in a queue
private int drainQueue() throws Exception
@@ -692,6 +734,6 @@
public int getIterationCount()
{
- return 5;
+ return 200;
}
}
More information about the jboss-cvs-commits
mailing list