[jboss-svn-commits] JBL Code SVN: r11698 - in labs/jbossesb/trunk/product: services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat May 5 06:23:26 EDT 2007


Author: kevin.conner at jboss.com
Date: 2007-05-05 06:23:26 -0400 (Sat, 05 May 2007)
New Revision: 11698

Modified:
   labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/Invoker.java
   labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/CommandInterpreter.java
Log:
Fixed Courier leaks: JBESB-557

Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/Invoker.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/Invoker.java	2007-05-05 02:29:41 UTC (rev 11697)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/Invoker.java	2007-05-05 10:23:26 UTC (rev 11698)
@@ -128,20 +128,25 @@
 		}
 		
 		Courier sender = CourierFactory.getCourier(call.getTo());
-		PickUpOnlyCourier receiver = null;
-		boolean waitForResponse = (maxWaitMillis > 0);
-		if (waitForResponse)
-		{
-			if (null==call.getReplyTo())
-				call.setReplyTo(CourierUtil.getDefaultReplyToEpr(call.getTo()));
-			receiver	= CourierFactory.getPickupCourier(call.getReplyTo());
-		}
-		
-		sender.deliver(outgoing);
-		return (waitForResponse)
-		? receiver.pickup(maxWaitMillis)
-		: null
-		;
+                PickUpOnlyCourier receiver = null;
+                try
+                {
+                        boolean waitForResponse = (maxWaitMillis > 0);
+                        if (waitForResponse)
+                        {
+                                if (null==call.getReplyTo())
+                                        call.setReplyTo(CourierUtil.getDefaultReplyToEpr(call.getTo()));
+                                receiver        = CourierFactory.getPickupCourier(call.getReplyTo());
+                        }
+                        
+                        sender.deliver(outgoing);
+                        return (waitForResponse ? receiver.pickup(maxWaitMillis) : null) ;
+                }
+                finally
+                {
+                    CourierUtil.cleanCourier(sender) ;
+                    CourierUtil.cleanCourier(receiver) ;
+                }
 	} //________________________________
 	
 	public static EPR serviceDestination(EPR epr) throws MalformedEPRException

Modified: labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/CommandInterpreter.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/CommandInterpreter.java	2007-05-05 02:29:41 UTC (rev 11697)
+++ labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/CommandInterpreter.java	2007-05-05 10:23:26 UTC (rev 11698)
@@ -31,6 +31,7 @@
 import org.jboss.soa.esb.couriers.Courier;
 import org.jboss.soa.esb.couriers.CourierException;
 import org.jboss.soa.esb.couriers.CourierFactory;
+import org.jboss.soa.esb.couriers.CourierUtil;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Body;
 import org.jboss.soa.esb.message.Message;
@@ -98,7 +99,14 @@
 		else
 		{
 			Courier courier = CourierFactory.getCourier(reply);
-			courier.deliver(message);
+                        try
+                        {
+                            courier.deliver(message);
+                        }
+                        finally
+                        {
+                            CourierUtil.cleanCourier(courier) ;
+                        }
 		}
 		return message;
 	} // ________________________________




More information about the jboss-svn-commits mailing list