[jboss-svn-commits] JBL Code SVN: r26988 - in labs/jbossesb/workspace/dbevenius/jbossas5/product/rosetta/src/org/jboss/soa/esb: lifecycle and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Jun 17 00:50:49 EDT 2009
Author: beve
Date: 2009-06-17 00:50:49 -0400 (Wed, 17 Jun 2009)
New Revision: 26988
Modified:
labs/jbossesb/workspace/dbevenius/jbossas5/product/rosetta/src/org/jboss/soa/esb/couriers/CourierFactory.java
labs/jbossesb/workspace/dbevenius/jbossas5/product/rosetta/src/org/jboss/soa/esb/lifecycle/LifecycleResourceManager.java
Log:
Added fix for JBESB-2514 "CourierFactory synchronizes around access to lifecycle resource"
Modified: labs/jbossesb/workspace/dbevenius/jbossas5/product/rosetta/src/org/jboss/soa/esb/couriers/CourierFactory.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/jbossas5/product/rosetta/src/org/jboss/soa/esb/couriers/CourierFactory.java 2009-06-17 03:29:44 UTC (rev 26987)
+++ labs/jbossesb/workspace/dbevenius/jbossas5/product/rosetta/src/org/jboss/soa/esb/couriers/CourierFactory.java 2009-06-17 04:50:49 UTC (rev 26988)
@@ -187,7 +187,7 @@
* Register the courier as part of the current set.
* @param courier The current courier.
*/
- private static synchronized void registerCourier(final TwoWayCourier courier)
+ private static void registerCourier(final TwoWayCourier courier)
throws CourierException
{
final Exception ex ;
@@ -199,25 +199,37 @@
{
ex = null ;
}
+ final Map<TwoWayCourier, Exception> map;
try
{
- lifecycleCouriers.getLifecycleResource().put(courier, ex) ;
+ map = lifecycleCouriers.getLifecycleResource();
}
catch (final LifecycleResourceException lre)
{
throw new CourierException("Unexpected lifecycle resource exception while registering courier", lre) ;
}
+
+ synchronized (map)
+ {
+ map.put(courier, ex);
+ }
}
/**
* Deregister the courier from the current set.
* @param courier The current courier.
*/
- public static synchronized void deregisterCourier(final TwoWayCourier courier)
+ public static void deregisterCourier(final TwoWayCourier courier)
{
+ final Map<TwoWayCourier, Exception> map;
try
{
- lifecycleCouriers.getLifecycleResource().remove(courier) ;
+ map = lifecycleCouriers.getLifecycleResource();
+
+ synchronized (map)
+ {
+ map.remove(courier);
+ }
}
catch (final LifecycleResourceException lre)
{
Modified: labs/jbossesb/workspace/dbevenius/jbossas5/product/rosetta/src/org/jboss/soa/esb/lifecycle/LifecycleResourceManager.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/jbossas5/product/rosetta/src/org/jboss/soa/esb/lifecycle/LifecycleResourceManager.java 2009-06-17 03:29:44 UTC (rev 26987)
+++ labs/jbossesb/workspace/dbevenius/jbossas5/product/rosetta/src/org/jboss/soa/esb/lifecycle/LifecycleResourceManager.java 2009-06-17 04:50:49 UTC (rev 26988)
@@ -62,9 +62,7 @@
static
{
// Initialise the shutdown hook in case we are not in an ESB.
- // Causes a deadlock when running in JBossAS5
- // TODO: can we get around the deadlock somehow?
- //Runtime.getRuntime().addShutdownHook(cleanupHook) ;
+ Runtime.getRuntime().addShutdownHook(cleanupHook) ;
}
/**
More information about the jboss-svn-commits
mailing list