[jbossws-commits] JBossWS SVN: r9870 - in stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1937/src/main/java/org/jboss/ws/core: jaxws/handler and 1 other directory.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Fri Apr 24 09:24:16 EDT 2009


Author: darran.lofthouse at jboss.com
Date: 2009-04-24 09:24:15 -0400 (Fri, 24 Apr 2009)
New Revision: 9870

Modified:
   stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1937/src/main/java/org/jboss/ws/core/jaxrpc/handler/HandlerDelegateJAXRPC.java
   stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1937/src/main/java/org/jboss/ws/core/jaxws/handler/HandlerDelegateJAXWS.java
Log:
[JBPAPP-1937] ConcurrentModificationException in initHandlerChain().

Modified: stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1937/src/main/java/org/jboss/ws/core/jaxrpc/handler/HandlerDelegateJAXRPC.java
===================================================================
--- stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1937/src/main/java/org/jboss/ws/core/jaxrpc/handler/HandlerDelegateJAXRPC.java	2009-04-24 13:22:02 UTC (rev 9869)
+++ stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1937/src/main/java/org/jboss/ws/core/jaxrpc/handler/HandlerDelegateJAXRPC.java	2009-04-24 13:24:15 UTC (rev 9870)
@@ -88,10 +88,16 @@
       // Initialize the handler chain
       if (isInitialized() == false)
       {
-         initHandlerChain(sepMetaData, HandlerType.PRE);
-         initHandlerChain(sepMetaData, HandlerType.ENDPOINT);
-         initHandlerChain(sepMetaData, HandlerType.POST);
-         setInitialized(true);
+         synchronized (sepMetaData)
+         {
+            if (isInitialized() == false)
+            {
+               initHandlerChain(sepMetaData, HandlerType.PRE);
+               initHandlerChain(sepMetaData, HandlerType.ENDPOINT);
+               initHandlerChain(sepMetaData, HandlerType.POST);
+               setInitialized(true);
+            }
+         }
       }
 
       boolean status = true;

Modified: stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1937/src/main/java/org/jboss/ws/core/jaxws/handler/HandlerDelegateJAXWS.java
===================================================================
--- stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1937/src/main/java/org/jboss/ws/core/jaxws/handler/HandlerDelegateJAXWS.java	2009-04-24 13:22:02 UTC (rev 9869)
+++ stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-1937/src/main/java/org/jboss/ws/core/jaxws/handler/HandlerDelegateJAXWS.java	2009-04-24 13:24:15 UTC (rev 9870)
@@ -77,11 +77,17 @@
       // Initialize the handler chain
       if (isInitialized() == false)
       {
-         EndpointConfigMetaData ecmd = sepMetaData.getEndpointConfigMetaData();
-         resolver.initHandlerChain(ecmd, HandlerType.PRE, true);
-         resolver.initHandlerChain(ecmd, HandlerType.ENDPOINT, true);
-         resolver.initHandlerChain(ecmd, HandlerType.POST, true);
-         setInitialized(true);
+         synchronized (resolver)
+         {
+            if (isInitialized() == false)
+            {
+               EndpointConfigMetaData ecmd = sepMetaData.getEndpointConfigMetaData();
+               resolver.initHandlerChain(ecmd, HandlerType.PRE, true);
+               resolver.initHandlerChain(ecmd, HandlerType.ENDPOINT, true);
+               resolver.initHandlerChain(ecmd, HandlerType.POST, true);
+               setInitialized(true);
+            }
+         }
       }
 
       HandlerChainExecutor executor = createExecutor(sepMetaData, type);




More information about the jbossws-commits mailing list