[jboss-svn-commits] JBL Code SVN: r16102 - labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/internal/soa/esb/couriers.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Oct 26 15:09:02 EDT 2007


Author: mark.little at jboss.com
Date: 2007-10-26 15:09:02 -0400 (Fri, 26 Oct 2007)
New Revision: 16102

Modified:
   labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/internal/soa/esb/couriers/InVMCourier.java
Log:
performance improvement.

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-10-26 18:59:29 UTC (rev 16101)
+++ labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/internal/soa/esb/couriers/InVMCourier.java	2007-10-26 19:09:02 UTC (rev 16102)
@@ -219,9 +219,16 @@
 
 		synchronized (_queue)
 		{
-			semaphoreMessage = new Vector<Message>();
+			semaphoreMessage = _queue.get(_epr.getServiceId());
+			
+			if (semaphoreMessage == null)
+			{
+			   semaphoreMessage = new Vector<Message>();
+			   _queue.put(_epr.getServiceId(), semaphoreMessage);
+			}
+			
 			semaphoreMessage.add(message);
-			_queue.put(_epr.getServiceId(), semaphoreMessage);
+
 			_queue.notify();
 		}
 
@@ -253,7 +260,7 @@
 		{
 			synchronized (_queue)
 			{
-				semaphoreMessage = _queue.remove(_epr.getServiceId());
+				semaphoreMessage = _queue.get(_epr.getServiceId());
 
 				if ((semaphoreMessage == null) || (semaphoreMessage.size() == 0))
 				{ // no queue, so no messages, so let's wait.
@@ -265,7 +272,7 @@
 					{
 						// hopefully message has been added to the queue now
 						
-						semaphoreMessage = _queue.remove(_epr.getServiceId());
+						semaphoreMessage = _queue.get(_epr.getServiceId());
 					}
 				}
 			}




More information about the jboss-svn-commits mailing list