[jboss-svn-commits] JBL Code SVN: r16267 - in labs/jbossesb/workspace/bramley/product/rosetta: tests/src/org/jboss/internal/soa/esb/couriers/tests and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Nov 1 15:27:27 EDT 2007


Author: mark.little at jboss.com
Date: 2007-11-01 15:27:27 -0400 (Thu, 01 Nov 2007)
New Revision: 16267

Modified:
   labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/internal/soa/esb/couriers/InVMCourier.java
   labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/InVMCourierUnitTest.java
Log:
threaded test.

Modified: labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/internal/soa/esb/couriers/InVMCourier.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/internal/soa/esb/couriers/InVMCourier.java	2007-11-01 15:58:04 UTC (rev 16266)
+++ labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/internal/soa/esb/couriers/InVMCourier.java	2007-11-01 19:27:27 UTC (rev 16267)
@@ -228,7 +228,7 @@
 			}
 			
 			semaphoreMessage.add(message);
-
+			
 			_queue.notify();
 		}
 

Modified: labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/InVMCourierUnitTest.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/InVMCourierUnitTest.java	2007-11-01 15:58:04 UTC (rev 16266)
+++ labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/InVMCourierUnitTest.java	2007-11-01 19:27:27 UTC (rev 16267)
@@ -204,6 +204,49 @@
 		System.err.println("Time for "+iters+" messages is "+(ftime - stime)+" milliseconds.");
 		System.err.println("Messages per second: "+msgsPerSecond);
 	}
+
+	@Test
+	public void testLockstepMultiProducerPerformance () throws Exception
+	{
+		InVMEpr epr = new InVMEpr(new URI("invm://serviceid5?true#2000"));
+		int iters = 1000;
+		int numberOfProducers = 50;
+		Producer[] producer = new Producer[numberOfProducers];
+		Consumer consumer = new Consumer(epr, iters*numberOfProducers, false);
+		long stime = System.currentTimeMillis();
+		
+		for (int i = 0; i < numberOfProducers; i++)
+		    producer[i] = new Producer(epr, iters, false);
+		
+		consumer.start();
+		
+		for (int j = 0; j < numberOfProducers; j++)
+		    producer[j].start();
+		
+		try
+		{
+			synchronized (condition())
+			{
+				condition().wait();
+			}
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+		}
+		
+		long ftime = System.currentTimeMillis();
+		double factor = 1000.00 / (ftime - stime);
+		double msgsPerSecond = iters * factor * numberOfProducers;
+		
+		if (!consumer.valid())
+		    System.err.println("Completed "+consumer.itersCompleted());
+		
+		Assert.assertEquals(consumer.valid(), true);
+		
+		System.err.println("Time for "+iters*numberOfProducers+" messages is "+(ftime - stime)+" milliseconds.");
+		System.err.println("Messages per second: "+msgsPerSecond);
+	}
 	
 	public static Object condition ()
 	{




More information about the jboss-svn-commits mailing list