[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