[jboss-svn-commits] JBL Code SVN: r28879 - in labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/XTS: WSCF/classes11/com/arjuna/mwlabs/wsc11 and 3 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Aug 10 04:38:56 EDT 2009
Author: adinn
Date: 2009-08-10 04:38:55 -0400 (Mon, 10 Aug 2009)
New Revision: 28879
Modified:
labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/XTS/WSCF/classes10/com/arjuna/mwlabs/wsc/ContextFactoryMapperImple.java
labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/XTS/WSCF/classes11/com/arjuna/mwlabs/wsc11/ContextFactoryMapperImple.java
labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/at/RegistrarImple.java
labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/ba/RegistrarImple.java
labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/XTS/WSTX/classes11/com/arjuna/mwlabs/wst11/ba/RegistrarImple.java
Log:
resolved race condition in protocol loading code and updated hashmap change to apply to bas case and also to 1.0 cases -- fixes for JBTM-603
Modified: labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/XTS/WSCF/classes10/com/arjuna/mwlabs/wsc/ContextFactoryMapperImple.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/XTS/WSCF/classes10/com/arjuna/mwlabs/wsc/ContextFactoryMapperImple.java 2009-08-08 11:40:33 UTC (rev 28878)
+++ labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/XTS/WSCF/classes10/com/arjuna/mwlabs/wsc/ContextFactoryMapperImple.java 2009-08-10 08:38:55 UTC (rev 28879)
@@ -93,22 +93,25 @@
try
{
org.w3c.dom.Document doc = convert(coordinationTypeURI);
- Object type = _protocols.getProtocolImplementation(convert(coordinationTypeURI));
+ // get and replace have to happen atomically
+ synchronized (_protocols) {
+ Object type = _protocols.getProtocolImplementation(convert(coordinationTypeURI));
- if (type instanceof String)
- {
- Class c = Class.forName((String) type);
+ if (type instanceof String)
+ {
+ Class c = Class.forName((String) type);
- ContextFactory factory = (ContextFactory) c.newInstance();
+ ContextFactory factory = (ContextFactory) c.newInstance();
- _protocols.replaceProtocol(doc, factory);
+ _protocols.replaceProtocol(doc, factory);
- return factory;
- }
- else
- {
- return (ContextFactory) type;
- }
+ return factory;
+ }
+ else
+ {
+ return (ContextFactory) type;
+ }
+ }
}
catch (Exception ex)
{
Modified: labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/XTS/WSCF/classes11/com/arjuna/mwlabs/wsc11/ContextFactoryMapperImple.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/XTS/WSCF/classes11/com/arjuna/mwlabs/wsc11/ContextFactoryMapperImple.java 2009-08-08 11:40:33 UTC (rev 28878)
+++ labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/XTS/WSCF/classes11/com/arjuna/mwlabs/wsc11/ContextFactoryMapperImple.java 2009-08-10 08:38:55 UTC (rev 28879)
@@ -93,23 +93,26 @@
try
{
org.w3c.dom.Document doc = convert(coordinationTypeURI);
- Object type = _protocols.getProtocolImplementation(convert(coordinationTypeURI));
+ // get and replace have to happen atomically
+ synchronized (_protocols) {
+ Object type = _protocols.getProtocolImplementation(convert(coordinationTypeURI));
- if (type instanceof String)
- {
- Class c = Class.forName((String) type);
+ if (type instanceof String)
+ {
+ Class c = Class.forName((String) type);
- ContextFactory factory = (ContextFactory) c.newInstance();
+ ContextFactory factory = (ContextFactory) c.newInstance();
- _protocols.replaceProtocol(doc, factory);
+ _protocols.replaceProtocol(doc, factory);
- return factory;
- }
- else
- {
- return (ContextFactory) type;
- }
- }
+ return factory;
+ }
+ else
+ {
+ return (ContextFactory) type;
+ }
+ }
+ }
catch (Exception ex)
{
ex.printStackTrace();
Modified: labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/at/RegistrarImple.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/at/RegistrarImple.java 2009-08-08 11:40:33 UTC (rev 28878)
+++ labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/at/RegistrarImple.java 2009-08-10 08:38:55 UTC (rev 28879)
@@ -32,6 +32,7 @@
package com.arjuna.mwlabs.wst.at;
import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
import com.arjuna.ats.arjuna.common.Uid;
import com.arjuna.mw.wsas.activity.ActivityHierarchy;
@@ -345,5 +346,5 @@
}
private CoordinatorManager _coordManager = null;
- private HashMap _hierarchies = new HashMap();
+ private ConcurrentHashMap _hierarchies = new ConcurrentHashMap();
}
Modified: labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/ba/RegistrarImple.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/ba/RegistrarImple.java 2009-08-08 11:40:33 UTC (rev 28878)
+++ labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/ba/RegistrarImple.java 2009-08-10 08:38:55 UTC (rev 28879)
@@ -32,6 +32,7 @@
package com.arjuna.mwlabs.wst.ba;
import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
import com.arjuna.ats.arjuna.common.Uid;
import com.arjuna.mw.wsas.activity.ActivityHierarchy;
@@ -262,5 +263,5 @@
private CoordinatorManager _coordManager = null;
- private HashMap _hierarchies = new HashMap();
+ private ConcurrentHashMap _hierarchies = new ConcurrentHashMap();
}
Modified: labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/XTS/WSTX/classes11/com/arjuna/mwlabs/wst11/ba/RegistrarImple.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/XTS/WSTX/classes11/com/arjuna/mwlabs/wst11/ba/RegistrarImple.java 2009-08-08 11:40:33 UTC (rev 28878)
+++ labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/XTS/WSTX/classes11/com/arjuna/mwlabs/wst11/ba/RegistrarImple.java 2009-08-10 08:38:55 UTC (rev 28879)
@@ -57,6 +57,7 @@
import javax.xml.ws.wsaddressing.W3CEndpointReference;
import javax.xml.ws.wsaddressing.W3CEndpointReferenceBuilder;
import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
public class RegistrarImple implements com.arjuna.wsc11.Registrar
{
@@ -273,5 +274,5 @@
private CoordinatorManager _coordManager = null;
- private HashMap _hierarchies = new HashMap();
+ private ConcurrentHashMap _hierarchies = new ConcurrentHashMap();
}
\ No newline at end of file
More information about the jboss-svn-commits
mailing list