[jboss-svn-commits] JBL Code SVN: r9265 - in labs/jbossesb/trunk/product: core/listeners/src/org/jboss/soa/esb/listeners/gateway and 8 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Feb 1 10:56:38 EST 2007


Author: kevin.conner at jboss.com
Date: 2007-02-01 10:56:37 -0500 (Thu, 01 Feb 2007)
New Revision: 9265

Modified:
   labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/Aggregator.java
   labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/AbstractFileGateway.java
   labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/JmsGatewayListener.java
   labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java
   labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/MessageAwareListener.java
   labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/DeliverOnlyCourier.java
   labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java
   labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/JmsCourier.java
   labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/PickUpOnlyCourier.java
   labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/SqlTableCourier.java
   labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/TwoWayCourierImpl.java
   labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/CourierUtil.java
   labs/jbossesb/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/MessageRouter.java
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_war1/esb_actions/src/quickstart/webservice_war1/MyAction.java
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_war1/war/src/quickstart/webservice_war1/webservice/HelloWorldWS.java
   labs/jbossesb/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/loanbroker/LoanBroker.java
   labs/jbossesb/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/actions/CreditAgencyActions.java
Log:
Tidied up Courier cleanup code: JBESB-396

Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/Aggregator.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/Aggregator.java	2007-02-01 15:39:11 UTC (rev 9264)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/Aggregator.java	2007-02-01 15:56:37 UTC (rev 9265)
@@ -37,6 +37,7 @@
 import org.jboss.soa.esb.addressing.EPR;
 import org.jboss.soa.esb.couriers.Courier;
 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.listeners.ListenerTagNames;
 import org.jboss.soa.esb.message.Message;
@@ -237,7 +238,14 @@
                                 try {
                                     EPR epr = registry.findEPR(serviceCategoryName, serviceName);
                                     Courier courier = CourierFactory.getCourier(epr);
-                                    courier.deliver(message);
+                                    try
+                                    {
+                                        courier.deliver(message);
+                                    }
+                                    finally
+                                    {
+                                        CourierUtil.cleanCourier(courier) ;
+                                    }
                                 } catch (Exception e) {
                                     logger.error(e.getMessage(), e);
                                     //If we can't notify then drop this data

Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/AbstractFileGateway.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/AbstractFileGateway.java	2007-02-01 15:39:11 UTC (rev 9264)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/AbstractFileGateway.java	2007-02-01 15:56:37 UTC (rev 9265)
@@ -40,6 +40,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.listeners.ListenerTagNames;
 import org.jboss.soa.esb.listeners.ListenerUtil;
@@ -174,12 +175,20 @@
 								_logger.error("Problems with file EPR", e);							}
 						}
 						_courier = CourierFactory.getCourier(current);
-						if (_courier
-								.deliver((org.jboss.soa.esb.message.Message) obj))
-						{
-							bSent = true;
-							break;
-						}
+                                                try
+                                                {
+                                                    if (_courier
+                                                    		.deliver((org.jboss.soa.esb.message.Message) obj))
+                                                    {
+                                                    	bSent = true;
+                                                    	break;
+                                                    }
+                                                }
+                                                finally
+                                                {
+                                                    CourierUtil.cleanCourier(_courier) ;
+                                                }
+                                                
 					}
 					if (!bSent)
 					{

Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/JmsGatewayListener.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/JmsGatewayListener.java	2007-02-01 15:39:11 UTC (rev 9264)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/JmsGatewayListener.java	2007-02-01 15:56:37 UTC (rev 9265)
@@ -49,6 +49,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.helpers.NamingContext;
 import org.jboss.soa.esb.listeners.ListenerTagNames;
@@ -165,12 +166,19 @@
 						for (EPR current : _targetEprs)
 						{
 							_courier = CourierFactory.getCourier(current);
-							if (_courier
-									.deliver((org.jboss.soa.esb.message.Message) obj))
-							{
-								bSent = true;
-								break;
-							}
+                                                        try
+                                                        {
+                                                            if (_courier
+                                                            		.deliver((org.jboss.soa.esb.message.Message) obj))
+                                                            {
+                                                            	bSent = true;
+                                                            	break;
+                                                            }
+                                                        }
+                                                        finally
+                                                        {
+                                                            CourierUtil.cleanCourier(_courier) ;
+                                                        }
 						}
 						if (!bSent)
 						{

Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java	2007-02-01 15:39:11 UTC (rev 9264)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java	2007-02-01 15:56:37 UTC (rev 9265)
@@ -48,6 +48,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.helpers.persist.JdbcCleanConn;
 import org.jboss.soa.esb.helpers.persist.SimpleDataSource;
@@ -173,11 +174,18 @@
 					for (EPR current : _targetEprs)
 					{
 						_courier = CourierFactory.getCourier(current);
-						if (_courier.deliver(message))
-						{
-							bSent = true;
-							break;
-						}
+                                                try
+                                                {
+                                                    if (_courier.deliver(message))
+                                                    {
+                                                    	bSent = true;
+                                                    	break;
+                                                    }
+                                                }
+                                                finally
+                                                {
+                                                    CourierUtil.cleanCourier(_courier) ;
+                                                }
 					}
 					if (!bSent)
 					{

Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/MessageAwareListener.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/MessageAwareListener.java	2007-02-01 15:39:11 UTC (rev 9264)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/MessageAwareListener.java	2007-02-01 15:56:37 UTC (rev 9265)
@@ -164,6 +164,7 @@
                 }
                 catch (final Exception ex)
                 {
+                    CourierUtil.cleanCourier(pickUpCourier);
                     throw new ManagedLifecycleException("Problems invoking setPollLatency(long)", ex) ;
                 }
             }

Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/DeliverOnlyCourier.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/DeliverOnlyCourier.java	2007-02-01 15:39:11 UTC (rev 9264)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/DeliverOnlyCourier.java	2007-02-01 15:56:37 UTC (rev 9265)
@@ -26,7 +26,8 @@
 import org.jboss.soa.esb.couriers.CourierException;
 import org.jboss.soa.esb.message.Message;
 
-public interface DeliverOnlyCourier 
+public interface DeliverOnlyCourier
 {
 	public boolean	deliver(Message message) throws CourierException, MalformedEPRException;
+        public void cleanup() ;
 }

Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java	2007-02-01 15:39:11 UTC (rev 9264)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java	2007-02-01 15:56:37 UTC (rev 9265)
@@ -485,6 +485,10 @@
 			_pollLatency = millis;
 	} // ________________________________
 	
+        public void cleanup()
+        {
+        }
+        
 	protected long _pollLatency = 900;
 
 	protected static final String DEFAULT_TMP = System

Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/JmsCourier.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/JmsCourier.java	2007-02-01 15:39:11 UTC (rev 9264)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/JmsCourier.java	2007-02-01 15:56:37 UTC (rev 9265)
@@ -60,13 +60,6 @@
 public class JmsCourier implements PickUpOnlyCourier, DeliverOnlyCourier
 {
 	/**
-	 * disable default constructor
-	 */
-	private JmsCourier ()
-	{
-	}
-
-	/**
 	 * package protected constructor - Objects of Courier should only be
 	 * instantiated by the Factory
 	 * 
@@ -102,7 +95,7 @@
 
 	} // ________________________________
 
-	void cleanup ()
+	public void cleanup ()
 	{
 		if (null != _messageProducer) try
 		{
@@ -500,7 +493,6 @@
 			public void onException(JMSException arg0) 
 			{
 				cleanup();
-				jmsConnectRetry(arg0);
 			}
 			
 		});
@@ -526,5 +518,5 @@
 	protected MessageConsumer _messageConsumer;
 
 	protected List<KeyValuePair> _messageProperties;
-
+        
 }

Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/PickUpOnlyCourier.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/PickUpOnlyCourier.java	2007-02-01 15:39:11 UTC (rev 9264)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/PickUpOnlyCourier.java	2007-02-01 15:56:37 UTC (rev 9265)
@@ -33,4 +33,5 @@
 public interface PickUpOnlyCourier 
 {
 	public Message	pickup(long millis) throws CourierException, CourierTimeoutException;
+        public void cleanup() ;
 }

Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/SqlTableCourier.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/SqlTableCourier.java	2007-02-01 15:39:11 UTC (rev 9264)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/SqlTableCourier.java	2007-02-01 15:56:37 UTC (rev 9265)
@@ -86,7 +86,7 @@
 
 	} // ________________________________
 
-	void cleanup()
+	public void cleanup()
 	{
 		if (null != _conn)
 		{
@@ -398,7 +398,6 @@
 				sb.append(" where ").append(_epr.getStatusColumn())
 						.append("='").append(State.Pending.getColumnValue())
 						.append("'").append(" order by 2");
-				;
 				_prepGetList = getConn().prepareStatement(sb.toString());
 			}
 			catch (Exception e)
@@ -528,7 +527,7 @@
 		{
 			return toString().substring(0, 1);
 		}
-	};
+	}
 
 	public void setPollLatency(Long millis)
 	{
@@ -550,7 +549,7 @@
 
 	protected JdbcCleanConn _conn;
 
-	protected PreparedStatement _prepGetList;;
+	protected PreparedStatement _prepGetList;
 
 	protected PreparedStatement _prepSel4Upd;
 

Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/TwoWayCourierImpl.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/TwoWayCourierImpl.java	2007-02-01 15:39:11 UTC (rev 9264)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/TwoWayCourierImpl.java	2007-02-01 15:56:37 UTC (rev 9265)
@@ -22,9 +22,6 @@
 
 package org.jboss.internal.soa.esb.couriers;
 
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
 import org.jboss.soa.esb.addressing.EPR;
 import org.jboss.soa.esb.addressing.MalformedEPRException;
 import org.jboss.soa.esb.addressing.eprs.FileEpr;
@@ -32,6 +29,7 @@
 import org.jboss.soa.esb.addressing.eprs.JMSEpr;
 import org.jboss.soa.esb.couriers.CourierException;
 import org.jboss.soa.esb.couriers.CourierTimeoutException;
+import org.jboss.soa.esb.couriers.CourierUtil;
 import org.jboss.soa.esb.couriers.TwoWayCourier;
 import org.jboss.soa.esb.message.Message;
 
@@ -70,9 +68,14 @@
 			MalformedEPRException
 	{
 		DeliverOnlyCourier old = _deliverCourier;
-		_deliverCourier = getDeliverCourier(toEPR);
-
-		tryToCleanup(old);
+                try
+                {
+                    _deliverCourier = getDeliverCourier(toEPR);
+                }
+                finally
+                {
+                    CourierUtil.cleanCourier(old) ;
+                }
 	}
 
 	/**
@@ -82,9 +85,14 @@
 			MalformedEPRException
 	{
 		PickUpOnlyCourier old = _pickupCourier;
-		_pickupCourier = getPickupCourier(replyToEPR);
-
-		tryToCleanup(old);
+                try
+                {
+                    _pickupCourier = getPickupCourier(replyToEPR);
+                }
+                finally
+                {
+                    CourierUtil.cleanCourier(old) ;
+                }
 	}
 
 	private DeliverOnlyCourier getDeliverCourier(EPR toEPR)
@@ -144,18 +152,9 @@
 	public boolean deliver(Message message) throws CourierException,
 			MalformedEPRException
 	{
-		boolean bRet = false;
-		try
-		{
-			if (null == _deliverCourier)
-				throw new CourierException("No deliver courier");
-			bRet = _deliverCourier.deliver(message);
-		}
-		finally
-		{
-			tryToCleanup(_deliverCourier);
-		}
-		return bRet;
+		if (null == _deliverCourier)
+			throw new CourierException("No deliver courier");
+		return _deliverCourier.deliver(message);
 	}
 
 	/**
@@ -180,39 +179,14 @@
 	private Message pickup(long waitTime, PickUpOnlyCourier courier)
 			throws CourierException, CourierTimeoutException
 	{
-		Message replyMessage = null;
-		try
-		{
-			if (null == courier)
-				throw new CourierException("No courier defined for pick ups");
-			replyMessage = courier.pickup(waitTime);
-		}
-		finally
-		{
-			tryToCleanup(courier);
-		}
-		return replyMessage;
+		if (null == courier)
+			throw new CourierException("No courier defined for pick ups");
+		return courier.pickup(waitTime);
 	}
-
-	private void tryToCleanup(Object obj)
-	{
-		if (null == obj)
-			return;
-		try
-		{
-			Method mth = obj.getClass().getMethod("cleanup", new Class[]
-			{});
-			mth.invoke(obj, new Object[]
-			{});
-		}
-		catch (NoSuchMethodException e)
-		{ /* OK - nothing to call */
-		}
-		catch (IllegalAccessException e)
-		{ /* tried to cleanup - just return */
-		}
-		catch (InvocationTargetException e)
-		{ /* tried to cleanup - just return */
-		}
-	}
+        
+        public void cleanup ()
+        {
+            CourierUtil.cleanCourier(_deliverCourier) ;
+            CourierUtil.cleanCourier(_pickupCourier) ;
+        }
 }

Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/CourierUtil.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/CourierUtil.java	2007-02-01 15:39:11 UTC (rev 9264)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/CourierUtil.java	2007-02-01 15:56:37 UTC (rev 9265)
@@ -32,7 +32,6 @@
 import java.io.ObjectOutputStream;
 import java.io.Serializable;
 import java.io.StreamCorruptedException;
-import java.lang.reflect.Method;
 import java.net.MalformedURLException;
 import java.net.URISyntaxException;
 import java.util.ArrayList;
@@ -300,29 +299,64 @@
 	{
 		EPR toEpr = message.getHeader().getCall().getTo();
 		Courier courier = CourierFactory.getCourier(toEpr);
-		courier.deliver(message);
+                try
+                {
+                    courier.deliver(message);
+                }
+                finally
+                {
+                    CourierUtil.cleanCourier(courier) ;
+                }
 	}
 
-    public static void cleanCourier (PickUpOnlyCourier courier) { cleanableCleanup(courier);}
-    public static void cleanCourier (DeliverOnlyCourier courier){ cleanableCleanup(courier);}
-    public static void cleanCourier (TwoWayCourier courier)		{ cleanableCleanup(courier);}
+    public static void cleanCourier (PickUpOnlyCourier courier)
+    {
+        if (null!=courier)
+        {
+            try
+            {
+                courier.cleanup() ;
+            }
+            catch (Exception e)
+            {
+                _logger.error("Problems invoking clean() Method for class "
+                                +courier.getClass().getSimpleName(),e);
+            }
+        }
+    }
+    
+    public static void cleanCourier (DeliverOnlyCourier courier)
+    {
+        if (null!=courier)
+        {
+            try
+            {
+                courier.cleanup() ;
+            }
+            catch (Exception e)
+            {
+                _logger.error("Problems invoking clean() Method for class "
+                                +courier.getClass().getSimpleName(),e);
+            }
+        }
+    }
+    
+    public static void cleanCourier (TwoWayCourier courier)
+    {
+        if (null!=courier)
+        {
+            try
+            {
+                courier.cleanup() ;
+            }
+            catch (Exception e)
+            {
+                _logger.error("Problems invoking clean() Method for class "
+                                +courier.getClass().getSimpleName(),e);
+            }
+        }
+    }
 	    
-    private static void cleanableCleanup (Object courier)
-    {
-    	if (null!=courier)
-	    	try
-	    	{
-	    		Method cleanMethod = courier.getClass().getMethod("cleanup", new Class[] {});
-	    		cleanMethod.invoke(courier, new Object[] {});
-	    	}
-	    	catch (NoSuchMethodException e) {/*  OK  Just don't invoke it  */  }
-	    	catch (Exception e)
-	    	{
-	    		_logger.error("Problems invoking clean() Method for class "
-	    				+courier.getClass().getSimpleName(),e);
-	    	}
-    } //________________________________
-	
 
 	protected static Logger _logger = Logger.getLogger(CourierUtil.class);
 }

Modified: labs/jbossesb/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/MessageRouter.java
===================================================================
--- labs/jbossesb/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/MessageRouter.java	2007-02-01 15:39:11 UTC (rev 9264)
+++ labs/jbossesb/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/MessageRouter.java	2007-02-01 15:56:37 UTC (rev 9265)
@@ -36,6 +36,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.message.Message;
 import org.jboss.soa.esb.services.registry.Registry;
 import org.jboss.soa.esb.services.registry.RegistryException;
@@ -127,7 +128,14 @@
                         }
 						// Give the message to the courier
 						Courier courier = CourierFactory.getCourier(epr);
-						courier.deliver(message);
+                                                try
+                                                {
+                                                    courier.deliver(message);
+                                                }
+                                                finally
+                                                {
+                                                    CourierUtil.cleanCourier(courier) ;
+                                                }
 						isSent = true;
 						break;
 					} catch (MalformedEPRException ex) {

Modified: labs/jbossesb/trunk/product/samples/quickstarts/webservice_war1/esb_actions/src/quickstart/webservice_war1/MyAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/webservice_war1/esb_actions/src/quickstart/webservice_war1/MyAction.java	2007-02-01 15:39:11 UTC (rev 9264)
+++ labs/jbossesb/trunk/product/samples/quickstarts/webservice_war1/esb_actions/src/quickstart/webservice_war1/MyAction.java	2007-02-01 15:56:37 UTC (rev 9265)
@@ -6,7 +6,9 @@
 import org.jboss.soa.esb.message.format.MessageFactory;
 import org.jboss.soa.esb.message.format.MessageType;
 import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.couriers.Courier;
 import org.jboss.soa.esb.couriers.CourierFactory;
+import org.jboss.soa.esb.couriers.CourierUtil;
 
 public class MyAction
 {
@@ -33,7 +35,15 @@
 	   Message replyMessage = MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML);				
 		 replyMessage.getBody().setContents(results.getBytes());
 		 EPR replyEPR = message.getHeader().getCall().getReplyTo();
-		 CourierFactory.getCourier(replyEPR).deliver(replyMessage); 
+		 final Courier courier = CourierFactory.getCourier(replyEPR) ;
+                 try
+                 {
+                     courier.deliver(replyMessage); 
+                 }
+                 finally
+                 {
+                     CourierUtil.cleanCourier(courier) ;
+                 }
 	   return replyMessage;
    }
    

Modified: labs/jbossesb/trunk/product/samples/quickstarts/webservice_war1/war/src/quickstart/webservice_war1/webservice/HelloWorldWS.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/webservice_war1/war/src/quickstart/webservice_war1/webservice/HelloWorldWS.java	2007-02-01 15:39:11 UTC (rev 9264)
+++ labs/jbossesb/trunk/product/samples/quickstarts/webservice_war1/war/src/quickstart/webservice_war1/webservice/HelloWorldWS.java	2007-02-01 15:56:37 UTC (rev 9265)
@@ -41,18 +41,25 @@
 	   	  EPR replyEPR = CourierUtil.getTemporaryReplyToEpr(requestEPR);
 	   	  TwoWayCourier courier = CourierFactory.getCourier(requestEPR, null);	 
 	   	  
-	   	  if (requestMessage.getHeader().getCall()==null) {
-					Call call = new Call();
-					requestMessage.getHeader().setCall(call);
-				}
-	   	  requestMessage.getHeader().getCall().setReplyTo(replyEPR);
-	   	  if (courier.deliver(requestMessage))
-				{
-							courier.setReplyToEpr(replyEPR); // why?
-				
-							replyMessage = courier.pickup(5000); // attempt for 5 secs
-							
-				}
+                  try
+                  {
+                          if (requestMessage.getHeader().getCall()==null) {
+                                        Call call = new Call();
+                                        requestMessage.getHeader().setCall(call);
+                                }
+                  requestMessage.getHeader().getCall().setReplyTo(replyEPR);
+                  if (courier.deliver(requestMessage))
+                                {
+                                                        courier.setReplyToEpr(replyEPR); // why?
+                                
+                                                        replyMessage = courier.pickup(5000); // attempt for 5 secs
+                                                        
+                                }
+                  }
+                  finally
+                  {
+                      CourierUtil.cleanCourier(courier) ;
+                  }
 	
 			  if (replyMessage != null) {
 	     	  results = new String(replyMessage.getBody().getContents());

Modified: labs/jbossesb/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/loanbroker/LoanBroker.java
===================================================================
--- labs/jbossesb/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/loanbroker/LoanBroker.java	2007-02-01 15:39:11 UTC (rev 9264)
+++ labs/jbossesb/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/loanbroker/LoanBroker.java	2007-02-01 15:56:37 UTC (rev 9265)
@@ -152,37 +152,44 @@
 			//use a 2-way courier so we can grab the response
 			TwoWayCourier courier = CourierFactory.getCourier(toEPR, null);			
 			
-			//needs to have this in order to get the reply
-			if (message.getHeader().getCall()==null) {
-				Call call = new Call();
-				message.getHeader().setCall(call);
-			}			
+                        try
+                        {
+        			//needs to have this in order to get the reply
+        			if (message.getHeader().getCall()==null) {
+        				Call call = new Call();
+        				message.getHeader().setCall(call);
+        			}			
+        			
+        			if (null == courier) {
+        				logger.info("could not get a valid courier to deliver the message");
+        				throw new ActionProcessingException("could not find a courier to deliver the message for the serrvice " +
+        						"(category-name: " + serviceCategoryName +"-" + serviceCategoryName); }			
+        			
+        			replyEPR = (JMSEpr)CourierUtil.getTemporaryReplyToEpr(toEPR);
+        			message.getHeader().getCall().setReplyTo(replyEPR);
+        			
+        			//send the message and get the response
+        			if (courier.deliver(message)) {				
+        				courier.setReplyToEpr(replyEPR);
+        				replyMessage = courier.pickup(5000);	//wait for 5 seconds then give up
+        				if (replyMessage !=null) {
+        					logger.info("received reply from creditAgency action");
+        					logger.info("message received: " + replyMessage.getBody().getContents());
+        					String xx = new String(replyMessage.getBody().getContents());
+        					System.out.println("Loanbroker credit score received of: " + xx);
+        					score = Integer.parseInt(xx.trim());					
+        				}else {
+        					logger.debug("reply not received from credit agency - setting a value of 5");
+        					score = 5; 
+        				}
+        			} else
+        				throw new ActionProcessingException("error delivering the message to the credit agency");
+                        }
+                        finally
+                        {
+                            CourierUtil.cleanCourier(courier) ;
+                        }
 			
-			if (null == courier) {
-				logger.info("could not get a valid courier to deliver the message");
-				throw new ActionProcessingException("could not find a courier to deliver the message for the serrvice " +
-						"(category-name: " + serviceCategoryName +"-" + serviceCategoryName); }			
-			
-			replyEPR = (JMSEpr)CourierUtil.getTemporaryReplyToEpr(toEPR);
-			message.getHeader().getCall().setReplyTo(replyEPR);
-			
-			//send the message and get the response
-			if (courier.deliver(message)) {				
-				courier.setReplyToEpr(replyEPR);
-				replyMessage = courier.pickup(5000);	//wait for 5 seconds then give up
-				if (replyMessage !=null) {
-					logger.info("received reply from creditAgency action");
-					logger.info("message received: " + replyMessage.getBody().getContents());
-					String xx = new String(replyMessage.getBody().getContents());
-					System.out.println("Loanbroker credit score received of: " + xx);
-					score = Integer.parseInt(xx.trim());					
-				}else {
-					logger.debug("reply not received from credit agency - setting a value of 5");
-					score = 5; 
-				}
-			} else
-				throw new ActionProcessingException("error delivering the message to the credit agency");
-			
 		}catch (Exception ex2) {
 			logger.error("exception occured: " + ex2);
 			ex2.printStackTrace();

Modified: labs/jbossesb/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/actions/CreditAgencyActions.java
===================================================================
--- labs/jbossesb/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/actions/CreditAgencyActions.java	2007-02-01 15:39:11 UTC (rev 9264)
+++ labs/jbossesb/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/actions/CreditAgencyActions.java	2007-02-01 15:56:37 UTC (rev 9265)
@@ -25,7 +25,9 @@
 
 import org.apache.log4j.Logger;
 import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.couriers.Courier;
 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.Message;
 import org.jboss.soa.esb.message.format.MessageFactory;
@@ -63,7 +65,15 @@
 		_logger.info("CreditAgency sending back a credit score of " + score);
 		replyMessage.getBody().setContents(Integer.toString(score).getBytes());		
 		EPR replyEPR = message.getHeader().getCall().getReplyTo();
-		CourierFactory.getCourier(replyEPR).deliver(replyMessage);       
+		final Courier courier = CourierFactory.getCourier(replyEPR) ;
+                try
+                {
+                    courier.deliver(replyMessage);       
+                }
+                finally
+                {
+                    CourierUtil.cleanCourier(courier) ;
+                }
 		
 		//send the message back to the action processing chain
 		return message;




More information about the jboss-svn-commits mailing list