[jboss-svn-commits] JBL Code SVN: r32461 - in labs/jbosstm/trunk: ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/recovery/arjunacore and 7 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Apr 7 10:21:13 EDT 2010


Author: jhalliday
Date: 2010-04-07 10:21:11 -0400 (Wed, 07 Apr 2010)
New Revision: 32461

Modified:
   labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/common/ClassloadingUtility.java
   labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/recovery/arjunacore/XARecoveryModule.java
   labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/TransactionManager.java
   labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/UserTransaction.java
   labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/JTAEnvironmentBean.java
   labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/JTAEnvironmentBeanMBean.java
   labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/utils/JNDIManager.java
   labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/recovery/XARecoveryModuleUnitTest.java
   labs/jbosstm/trunk/ArjunaJTS/jbossts-properties-arjunajts.xml
   labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/recovery/XARecoveryModuleUnitTest.java
   labs/jbosstm/trunk/common/tests/com/arjuna/common/tests/simple/EnvironmentBeanTest.java
Log:
Continue moving class loading responsibility to the environment bean classes. JBTM-735


Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/common/ClassloadingUtility.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/common/ClassloadingUtility.java	2010-04-07 11:07:09 UTC (rev 32460)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/common/ClassloadingUtility.java	2010-04-07 14:21:11 UTC (rev 32461)
@@ -22,6 +22,10 @@
 
 import com.arjuna.ats.arjuna.logging.tsLogger;
 
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * Utility functions, used mainly by the EnvironmentBeans, for managing dynamic classloading.
  *
@@ -48,9 +52,10 @@
      * @message com.arjuna.ats.internal.arjuna.common.ClassloadingUtility_3 [com.arjuna.ats.internal.arjuna.common.ClassloadingUtility_3] class {0} does not implement {1}
      * @message com.arjuna.ats.internal.arjuna.common.ClassloadingUtility_4 [com.arjuna.ats.internal.arjuna.common.ClassloadingUtility_4] can't create new instance of {0}
      * @message com.arjuna.ats.internal.arjuna.common.ClassloadingUtility_5 [com.arjuna.ats.internal.arjuna.common.ClassloadingUtility_5] can't access {0}
+     * @message com.arjuna.ats.internal.arjuna.common.ClassloadingUtility_6 [com.arjuna.ats.internal.arjuna.common.ClassloadingUtility_6] can't initialize from string {0}
      */
-    public static <T> T loadAndInstantiateClass(Class<T> iface, String className) {
-
+    public static <T> T loadAndInstantiateClass(Class<T> iface, String className)
+    {
         if (tsLogger.arjLogger.isDebugEnabled()) {
             tsLogger.arjLogger.debug("Loading class " + className);
         }
@@ -88,17 +93,94 @@
         return instance;
     }
 
+    public static <T> List<T> loadAndInstantiateClassesWithInit(Class<T> iface, List<String> classNamesWithOptionalInitParams)
+    {
+        List<T> instances = new ArrayList<T>();
+
+        for(String theClassAndParameter : classNamesWithOptionalInitParams)
+        {
+            // see if there is a string parameter
+
+            int breakPosition = theClassAndParameter.indexOf(BREAKCHARACTER);
+
+            String theClass = null;
+            String theParameter = null;
+
+            if (breakPosition != -1)
+            {
+                theClass = theClassAndParameter.substring(0, breakPosition);
+                theParameter = theClassAndParameter.substring(breakPosition + 1);
+            }
+            else
+            {
+                theClass = theClassAndParameter;
+            }
+
+            T instance = loadAndInstantiateClass(iface, theClass);
+
+
+            if (theClass != null && theParameter != null)
+            {
+                try {
+                    Method method = instance.getClass().getMethod("initialise", new Class[] {String.class}); // yup, UK English spelling
+                    method.invoke(instance, theParameter);
+                } catch(Exception e) {
+                    tsLogger.arjLoggerI18N.warn("com.arjuna.ats.internal.arjuna.common.ClassloadingUtility_6", new Object[]{theClassAndParameter}, e);
+                    continue;
+                }
+            }
+
+            if(instance != null)
+            {
+                instances.add(instance);
+            }
+        }
+
+        return instances;
+    }
+
     /**
-     * Reverse mapping - obtain the class name for a given object.
+     * Reverse mapping - obtain the class name for a given Object.
      *
-     * @param instance the object of interest
-     * @return the class name of the object, or null.
+     * @param instance the Object of interest
+     * @return the class name of the Object, or null.
      */
-    public static String getNameForClass(Object instance) {
+    public static String getNameForClass(Object instance)
+    {
         if(instance == null) {
             return null;
         }
 
         return instance.getClass().getName();
     }
+
+    /**
+     * Reverse mapping - obtain the class names from a given set of Objects.
+     *
+     * If the input list is null a zero length list is returned.
+     * If the input list contains nulls, these will not be present in the returned list.
+     *
+     * @param instances a list of Objects of interest.
+     * @return a non-null list of zero or more elements, being class names of the Objects.
+     */
+    public static List<String> getNamesForClasses(List<? extends Object> instances)
+    {
+        List<String> names = new ArrayList<String>();
+
+        if(instances != null)
+        {
+            for(Object instance : instances)
+            {
+                String name = getNameForClass(instance);
+                if(name != null) {
+                    names.add(name);
+                }
+
+            }
+        }
+
+        return names;
+    }
+
+    private static final char BREAKCHARACTER = ';';
 }

Modified: labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/recovery/arjunacore/XARecoveryModule.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/recovery/arjunacore/XARecoveryModule.java	2010-04-07 11:07:09 UTC (rev 32460)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/recovery/arjunacore/XARecoveryModule.java	2010-04-07 14:21:11 UTC (rev 32461)
@@ -47,8 +47,6 @@
 import com.arjuna.ats.jta.recovery.*;
 import com.arjuna.ats.jta.utils.XAHelper;
 
-import com.arjuna.common.util.logging.*;
-
 import java.util.*;
 import javax.transaction.xa.*;
 
@@ -274,121 +272,48 @@
 	 */
 
 	protected XARecoveryModule(String recoveryClass, String logName)
-	{
-		_xaRecoverers = new Vector();
-		_logName = logName;
+    {
+        _logName = logName;
 
-		try
-		{
-			Class c = Thread.currentThread().getContextClassLoader().loadClass(
-					recoveryClass);
+        try
+        {
+            Class c = Thread.currentThread().getContextClassLoader().loadClass(
+                    recoveryClass);
 
-			_recoveryManagerClass = (XARecoveryResourceManager) c.newInstance();
-		}
-		catch (Exception ex)
-		{
-			if (jtaLogger.loggerI18N.isWarnEnabled())
-			{
-				jtaLogger.loggerI18N.warn(
-						"com.arjuna.ats.internal.jta.recovery.constfail", ex);
-			}
-
-			_recoveryManagerClass = null;
-		}
-
-        List<String> instances = jtaPropertyManager.getJTAEnvironmentBean().getXaResourceRecoveryInstances();
-
-        for(String theClassAndParameter : instances)
+            _recoveryManagerClass = (XARecoveryResourceManager) c.newInstance();
+        }
+        catch (Exception ex)
         {
-            /*
-                        * Given the recovery string, create the class it refers to
-                        * and store it.
-                        */
+            if (jtaLogger.loggerI18N.isWarnEnabled())
+            {
+                jtaLogger.loggerI18N.warn(
+                        "com.arjuna.ats.internal.jta.recovery.constfail", ex);
+            }
 
-            // see if there is a string parameter
+            _recoveryManagerClass = null;
+        }
 
-            int breakPosition = theClassAndParameter.indexOf(BREAKCHARACTER);
+        _xaRecoverers = jtaPropertyManager.getJTAEnvironmentBean().getXaResourceRecoveries();
 
-            String theClass = null;
-            String theParameter = null;
-
-            if (breakPosition != -1)
+        for(String xaResourceOrphanFilterClassname : jtaPropertyManager.getJTAEnvironmentBean().getXaResourceOrphanFilters())
+        {
+            try
             {
-                theClass = theClassAndParameter.substring(0, breakPosition);
-                theParameter = theClassAndParameter.substring(breakPosition + 1);
+                Class c = Thread.currentThread().getContextClassLoader().loadClass(xaResourceOrphanFilterClassname);
+                XAResourceOrphanFilter filter = (XAResourceOrphanFilter)c.newInstance();
+                _xaResourceOrphanFilters.add(filter);
             }
-            else
+            catch(Exception e)
             {
-                theClass = theClassAndParameter;
-            }
-
-            if (jtaLogger.loggerI18N.isInfoEnabled())
-            {
-                if (jtaLogger.loggerI18N.isInfoEnabled())
-                {
-                    jtaLogger.loggerI18N
-                            .info("com.arjuna.ats.internal.jta.recovery.info.loading",
-                                    new Object[] {
-                                        _logName,(theClass + ((theParameter != null) ? theParameter : "")) });
-                }
-            }
-
-            if (theClass == null)
-            {
                 if (jtaLogger.loggerI18N.isWarnEnabled())
                 {
                     jtaLogger.loggerI18N
-                            .warn("com.arjuna.ats.internal.jta.recovery.classloadfail",
-                                new Object[] { _logName, theClassAndParameter });
+                            .warn("com.arjuna.ats.internal.jta.recovery.general",
+                                    new Object[] { e, xaResourceOrphanFilterClassname }, e);
                 }
             }
-            else
-            {
-                try
-                {
-                    Class c = Thread.currentThread()
-                            .getContextClassLoader()
-                            .loadClass(theClass);
-
-                    XAResourceRecovery ri = (XAResourceRecovery) c
-                            .newInstance();
-
-                    if (theParameter != null)
-                        ri.initialise(theParameter);
-
-                    _xaRecoverers.addElement(ri);
-                }
-                catch (Exception e)
-                {
-                    if (jtaLogger.loggerI18N.isWarnEnabled())
-                    {
-                        jtaLogger.loggerI18N
-                                .warn("com.arjuna.ats.internal.jta.recovery.general",
-                                        new Object[] { e, theClass }, e);
-                    }
-                }
-            }
-
-            for(String xaResourceOrphanFilterClassname : jtaPropertyManager.getJTAEnvironmentBean().getXaResourceOrphanFilters())
-            {
-                try
-                {
-                    Class c = Thread.currentThread().getContextClassLoader().loadClass(xaResourceOrphanFilterClassname);
-                    XAResourceOrphanFilter filter = (XAResourceOrphanFilter)c.newInstance();
-                    _xaResourceOrphanFilters.add(filter);
-                }
-                catch(Exception e)
-                {
-                    if (jtaLogger.loggerI18N.isWarnEnabled())
-                    {
-                        jtaLogger.loggerI18N
-                                .warn("com.arjuna.ats.internal.jta.recovery.general",
-                                        new Object[] { e, xaResourceOrphanFilterClassname }, e);
-                    }
-                }
-            }
         }
-	}
+    }
 
 	/**
 	 * @message com.arjuna.ats.internal.jta.recovery.recoveryfailed JTA failed
@@ -610,8 +535,7 @@
 
 				try
 				{
-					XAResourceRecovery ri = (XAResourceRecovery) _xaRecoverers
-							.elementAt(i);
+					XAResourceRecovery ri = (XAResourceRecovery) _xaRecoverers.get(i);
 
 					while (ri.hasMoreResources())
 					{
@@ -1142,7 +1066,7 @@
 
 	private InputObjectState _uids = new InputObjectState();
 
-	private Vector _xaRecoverers = null; // contains XAResourceRecovery instances
+	private final List<XAResourceRecovery> _xaRecoverers;
 
     private final List<XAResourceRecoveryHelper> _xaResourceRecoveryHelpers = new LinkedList<XAResourceRecoveryHelper>();
 
@@ -1150,8 +1074,6 @@
 
     private Hashtable _failures = null;
 
-	private Vector _xaRecoveryNodes = null;
-
 	private Hashtable _xidScans = null;
 
 	private XARecoveryResourceManager _recoveryManagerClass = null;

Modified: labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/TransactionManager.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/TransactionManager.java	2010-04-07 11:07:09 UTC (rev 32460)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/TransactionManager.java	2010-04-07 14:21:11 UTC (rev 32461)
@@ -53,7 +53,7 @@
 
 		try
 		{
-			transactionManager = (javax.transaction.TransactionManager)ctx.lookup(jtaPropertyManager.getJTAEnvironmentBean().getJtaTMJNDIContext());
+			transactionManager = (javax.transaction.TransactionManager)ctx.lookup(jtaPropertyManager.getJTAEnvironmentBean().getTransactionManagerJNDIContext());
 		}
 		catch (Exception e)
 		{

Modified: labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/UserTransaction.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/UserTransaction.java	2010-04-07 11:07:09 UTC (rev 32460)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/UserTransaction.java	2010-04-07 14:21:11 UTC (rev 32461)
@@ -56,7 +56,7 @@
 
 		try
 		{
-			userTransaction = (javax.transaction.UserTransaction) ctx.lookup(jtaPropertyManager.getJTAEnvironmentBean().getJtaUTJNDIContext());
+			userTransaction = (javax.transaction.UserTransaction) ctx.lookup(jtaPropertyManager.getJTAEnvironmentBean().getUserTransactionJNDIContext());
 		}
 		catch (Exception e)
 		{

Modified: labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/JTAEnvironmentBean.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/JTAEnvironmentBean.java	2010-04-07 11:07:09 UTC (rev 32460)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/JTAEnvironmentBean.java	2010-04-07 14:21:11 UTC (rev 32461)
@@ -21,6 +21,7 @@
 package com.arjuna.ats.jta.common;
 
 import com.arjuna.ats.internal.arjuna.common.ClassloadingUtility;
+import com.arjuna.ats.jta.recovery.XAResourceRecovery;
 import com.arjuna.common.internal.util.propertyservice.PropertyPrefix;
 import com.arjuna.common.internal.util.propertyservice.FullPropertyName;
 import com.arjuna.common.internal.util.propertyservice.ConcatenationPrefix;
@@ -54,7 +55,8 @@
     private volatile List<String> xaRecoveryNodes = new ArrayList<String>();
 
     @ConcatenationPrefix(prefix = "com.arjuna.ats.jta.recovery.XAResourceRecovery")
-    private volatile List<String> xaResourceRecoveryInstances = new ArrayList<String>();
+    private volatile List<String> xaResourceRecoveryClassNames = new ArrayList<String>();
+    private volatile List<XAResourceRecovery> xaResourceRecoveries = null;
 
     private volatile List<String> xaResourceOrphanFilters = new ArrayList<String>();
 
@@ -63,11 +65,11 @@
 
     // com.arjuna.ats.jta.utils.
     @FullPropertyName(name = "com.arjuna.ats.jta.utils.UTJNDIContext")
-    private volatile String jtaUTJNDIContext = "java:/UserTransaction";
+    private volatile String userTransactionJNDIContext = "java:/UserTransaction";
     @FullPropertyName(name = "com.arjuna.ats.jta.utils.TMJNDIContext")
-    private volatile String jtaTMJNDIContext =  "java:/TransactionManager";
+    private volatile String transactionManagerJNDIContext =  "java:/TransactionManager";
     @FullPropertyName(name = "com.arjuna.ats.jta.utils.TSRJNDIContext")
-    private volatile String jtaTSRJNDIContext = "java:/TransactionSynchronizationRegistry";
+    private volatile String transactionSynchronizationRegistryJNDIContext = "java:/TransactionSynchronizationRegistry";
 
     @ConcatenationPrefix(prefix = "com.arjuna.ats.jta.xaErrorHandler")
     private volatile List<String> xaErrorHandlers = new ArrayList<String>();
@@ -372,7 +374,7 @@
     }
 
     /**
-     * Returns the set of XAResourceRecovery implementation classnames,
+     * Returns the set of XAResourceRecovery implementation class names,
      * each of which may have configuration data appended to it.
      * The returned list is a copy. May return an empty list, will not return null.
      *
@@ -381,28 +383,85 @@
      *
      * @return the set of XAResourceRecovery implementations with their configuration data. 
      */
-    public List<String> getXaResourceRecoveryInstances()
+    public List<String> getXaResourceRecoveryClassNames()
     {
-        return new ArrayList<String>(xaResourceRecoveryInstances);
+        synchronized(this)
+        {
+            return new ArrayList<String>(xaResourceRecoveryClassNames);
+        }
     }
 
     /**
-     * Sets the XAResourceRecovery implementations that will be used,
+     * Sets the class names of the XAResourceRecovery implementations that will be used,
      * each optionally including trailing configuration data.
      * The provided list will be copied, not retained.
      *
-     * @param xaResourceRecoveryInstances the XAResourceRecovery implementation classnames and configuration.
+     * @param xaResourceRecoveryClassNames the XAResourceRecovery implementation class names and configuration.
      */
-    public void setXaResourceRecoveryInstances(List<String> xaResourceRecoveryInstances)
+    public void setXaResourceRecoveryClassNames(List<String> xaResourceRecoveryClassNames)
     {
-        if(xaResourceRecoveryInstances == null) {
-            this.xaResourceRecoveryInstances = new ArrayList<String>();
-        } else {
-            this.xaResourceRecoveryInstances = new ArrayList<String>(xaResourceRecoveryInstances);
+        synchronized(this)
+        {
+            if(xaResourceRecoveryClassNames == null)
+            {
+                this.xaResourceRecoveries = null;
+                this.xaResourceRecoveryClassNames = new ArrayList<String>();
+            }
+            else if(!xaResourceRecoveryClassNames.equals(this.xaResourceRecoveryClassNames))
+            {
+                this.xaResourceRecoveries = null;
+                this.xaResourceRecoveryClassNames = new ArrayList<String>(xaResourceRecoveryClassNames);
+            }
         }
     }
 
     /**
+     * Returns the set of XAResourceRecovery instances.
+     * The returned list is a copy. May return an empty list, will not return null.
+     *
+     * If there is no pre-instantiated instance set and classloading or instantiation of one or more
+     * elements fails, this method will log an appropriate warning and return a non-null set with
+     * fewer elements. 
+     *
+     * @return the set of XAResourceRecovery instances.
+     */
+    public List<XAResourceRecovery> getXaResourceRecoveries()
+    {
+        synchronized(this)
+        {
+            if(xaResourceRecoveries == null) {
+                List<XAResourceRecovery> instances = ClassloadingUtility.loadAndInstantiateClassesWithInit(XAResourceRecovery.class, xaResourceRecoveryClassNames);
+                xaResourceRecoveries = instances;
+            }
+        }
+        return new ArrayList<XAResourceRecovery>(xaResourceRecoveries);
+    }
+
+    /**
+     * Sets the instances of XAResourceRecovery.
+     * The provided list will be copied, not retained.
+     *
+     * @param xaResourceRecoveries the set of XAResourceRecovery instances.
+     */
+    public void setXaResourceRecoveries(List<XAResourceRecovery> xaResourceRecoveries)
+    {
+        synchronized(this)
+        {
+            if(xaResourceRecoveries == null)
+            {
+                this.xaResourceRecoveries = new ArrayList<XAResourceRecovery>();
+                this.xaResourceRecoveryClassNames = new ArrayList<String>();
+            }
+            else
+            {
+                this.xaResourceRecoveries = new ArrayList<XAResourceRecovery>(xaResourceRecoveries);
+                List<String> names = ClassloadingUtility.getNamesForClasses(this.xaResourceRecoveries);
+                this.xaResourceRecoveryClassNames = names;
+            }
+        }
+    }
+
+    /**
      * Returns a list of names of classes that implement XAResourceOrphanFilter.
      * The returned list is a copy. May return an empty list, will not return null.
      *
@@ -489,19 +548,19 @@
      *
      * @return the JNDI bind location for the UserTransaction interface.
      */
-    public String getJtaUTJNDIContext()
+    public String getUserTransactionJNDIContext()
     {
-        return jtaUTJNDIContext;
+        return userTransactionJNDIContext;
     }
 
     /**
      * Sets the JNDI bind name for the implementation of UserTransaction.
      *
-     * @param jtaUTJNDIContext the JNDI bind location for the UserTransaction interface.
+     * @param userTransactionJNDIContext the JNDI bind location for the UserTransaction interface.
      */
-    public void setJtaUTJNDIContext(String jtaUTJNDIContext)
+    public void setUserTransactionJNDIContext(String userTransactionJNDIContext)
     {
-        this.jtaUTJNDIContext = jtaUTJNDIContext;
+        this.userTransactionJNDIContext = userTransactionJNDIContext;
     }
 
     /**
@@ -512,19 +571,19 @@
      *
      * @return the JNDI bind location for the TransactionManager interface.
      */
-    public String getJtaTMJNDIContext()
+    public String getTransactionManagerJNDIContext()
     {
-        return jtaTMJNDIContext;
+        return transactionManagerJNDIContext;
     }
 
     /**
      * Sets the JNDI bind name for the implementation of TransactionManager.
      *
-     * @param jtaTMJNDIContext the JNDI bind location for the TransactionManager interface.
+     * @param transactionManagerJNDIContext the JNDI bind location for the TransactionManager interface.
      */
-    public void setJtaTMJNDIContext(String jtaTMJNDIContext)
+    public void setTransactionManagerJNDIContext(String transactionManagerJNDIContext)
     {
-        this.jtaTMJNDIContext = jtaTMJNDIContext;
+        this.transactionManagerJNDIContext = transactionManagerJNDIContext;
     }
 
     /**
@@ -535,19 +594,19 @@
      *
      * @return the JNDI bind location for the TransactionSynchronizationRegistry interface.
      */
-    public String getJtaTSRJNDIContext()
+    public String getTransactionSynchronizationRegistryJNDIContext()
     {
-        return jtaTSRJNDIContext;
+        return transactionSynchronizationRegistryJNDIContext;
     }
 
     /**
      * Sets tje JNDI bind name for the implementation of TransactionSynchronizationRegistry.
      *
-     * @param jtaTSRJNDIContext the JNDI bind location for the TransactionSynchronizationRegistry implementation.
+     * @param transactionSynchronizationRegistryJNDIContext the JNDI bind location for the TransactionSynchronizationRegistry implementation.
      */
-    public void setJtaTSRJNDIContext(String jtaTSRJNDIContext)
+    public void setTransactionSynchronizationRegistryJNDIContext(String transactionSynchronizationRegistryJNDIContext)
     {
-        this.jtaTSRJNDIContext = jtaTSRJNDIContext;
+        this.transactionSynchronizationRegistryJNDIContext = transactionSynchronizationRegistryJNDIContext;
     }
 
     /**

Modified: labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/JTAEnvironmentBeanMBean.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/JTAEnvironmentBeanMBean.java	2010-04-07 11:07:09 UTC (rev 32460)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/JTAEnvironmentBeanMBean.java	2010-04-07 14:21:11 UTC (rev 32461)
@@ -49,9 +49,9 @@
 
     void setXaRecoveryNodes(List<String> xaRecoveryNodes);
 
-    List<String> getXaResourceRecoveryInstances();
+    List<String> getXaResourceRecoveryClassNames();
 
-    void setXaResourceRecoveryInstances(List<String> xaResourceRecoveryInstances);
+    void setXaResourceRecoveryClassNames(List<String> xaResourceRecoveryInstances);
 
     List<String> getXaResourceOrphanFilters();
 
@@ -65,17 +65,17 @@
 
     void setXaAssumeRecoveryComplete(boolean xaAssumeRecoveryComplete);
 
-    String getJtaUTJNDIContext();
+    String getUserTransactionJNDIContext();
 
-    void setJtaUTJNDIContext(String jtaUTJNDIContext);
+    void setUserTransactionJNDIContext(String jtaUTJNDIContext);
 
-    String getJtaTMJNDIContext();
+    String getTransactionManagerJNDIContext();
 
-    void setJtaTMJNDIContext(String jtaTMJNDIContext);
+    void setTransactionManagerJNDIContext(String jtaTMJNDIContext);
 
-    String getJtaTSRJNDIContext();
+    String getTransactionSynchronizationRegistryJNDIContext();
 
-    void setJtaTSRJNDIContext(String jtaTSRJNDIContext);
+    void setTransactionSynchronizationRegistryJNDIContext(String jtaTSRJNDIContext);
 
     List<String> getXaErrorHandlers();
 

Modified: labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/utils/JNDIManager.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/utils/JNDIManager.java	2010-04-07 11:07:09 UTC (rev 32460)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/utils/JNDIManager.java	2010-04-07 14:21:11 UTC (rev 32461)
@@ -193,16 +193,16 @@
 
 	private final static String getTransactionManagerJNDIName()
 	{
-        return jtaPropertyManager.getJTAEnvironmentBean().getJtaTMJNDIContext();
+        return jtaPropertyManager.getJTAEnvironmentBean().getTransactionManagerJNDIContext();
 	}
 
 	private final static String getUserTransactionJNDIName()
 	{
-        return jtaPropertyManager.getJTAEnvironmentBean().getJtaUTJNDIContext();
+        return jtaPropertyManager.getJTAEnvironmentBean().getUserTransactionJNDIContext();
 	}
 
 	private final static String getTransactionSynchronizationRegistryJNDIName()
 	{
-        return jtaPropertyManager.getJTAEnvironmentBean().getJtaTSRJNDIContext();
+        return jtaPropertyManager.getJTAEnvironmentBean().getTransactionSynchronizationRegistryJNDIContext();
 	}
 }

Modified: labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/recovery/XARecoveryModuleUnitTest.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/recovery/XARecoveryModuleUnitTest.java	2010-04-07 11:07:09 UTC (rev 32460)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/recovery/XARecoveryModuleUnitTest.java	2010-04-07 14:21:11 UTC (rev 32461)
@@ -74,7 +74,7 @@
         
         r.add("com.hp.mwtests.ts.jta.recovery.DummyXARecoveryResource");
 
-        jtaPropertyManager.getJTAEnvironmentBean().setXaResourceRecoveryInstances(r);
+        jtaPropertyManager.getJTAEnvironmentBean().setXaResourceRecoveryClassNames(r);
         
         XARecoveryModule xarm = new XARecoveryModule();
         

Modified: labs/jbosstm/trunk/ArjunaJTS/jbossts-properties-arjunajts.xml
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jbossts-properties-arjunajts.xml	2010-04-07 11:07:09 UTC (rev 32460)
+++ labs/jbosstm/trunk/ArjunaJTS/jbossts-properties-arjunajts.xml	2010-04-07 14:21:11 UTC (rev 32461)
@@ -144,11 +144,11 @@
     <entry key="RecoveryEnvironmentBean.recoveryActivators">com.arjuna.ats.internal.jts.orbspecific.recovery.RecoveryEnablement</entry>
 
 
-	<entry key="JTAEnvironmentBean.jtaTMImplementation">com.arjuna.ats.internal.jta.transaction.jts.TransactionManagerImple</entry>
+	<entry key="JTAEnvironmentBean.transactionManagerClassName">com.arjuna.ats.internal.jta.transaction.jts.TransactionManagerImple</entry>
 
-	<entry key="JTAEnvironmentBean.jtaUTImplementation">com.arjuna.ats.internal.jta.transaction.jts.UserTransactionImple</entry>
+	<entry key="JTAEnvironmentBean.userTransactionClassName">com.arjuna.ats.internal.jta.transaction.jts.UserTransactionImple</entry>
 
-    <entry key="JTAEnvironmentBean.jtaTSRImplementation">com.arjuna.ats.internal.jta.transaction.jts.TransactionSynchronizationRegistryImple</entry>
+    <entry key="JTAEnvironmentBean.transactionSynchronizationRegistryClassName">com.arjuna.ats.internal.jta.transaction.jts.TransactionSynchronizationRegistryImple</entry>
 
 
     <entry key="OrbPortabilityEnvironmentBean.bindMechanism">CONFIGURATION_FILE</entry>

Modified: labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/recovery/XARecoveryModuleUnitTest.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/recovery/XARecoveryModuleUnitTest.java	2010-04-07 11:07:09 UTC (rev 32460)
+++ labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/recovery/XARecoveryModuleUnitTest.java	2010-04-07 14:21:11 UTC (rev 32461)
@@ -75,7 +75,7 @@
         
         r.add("com.hp.mwtests.ts.jta.recovery.DummyXARecoveryResource");
 
-        jtaPropertyManager.getJTAEnvironmentBean().setXaResourceRecoveryInstances(r);
+        jtaPropertyManager.getJTAEnvironmentBean().setXaResourceRecoveryClassNames(r);
         
         XARecoveryModule xarm = new XARecoveryModule();
         

Modified: labs/jbosstm/trunk/common/tests/com/arjuna/common/tests/simple/EnvironmentBeanTest.java
===================================================================
--- labs/jbosstm/trunk/common/tests/com/arjuna/common/tests/simple/EnvironmentBeanTest.java	2010-04-07 11:07:09 UTC (rev 32460)
+++ labs/jbosstm/trunk/common/tests/com/arjuna/common/tests/simple/EnvironmentBeanTest.java	2010-04-07 14:21:11 UTC (rev 32461)
@@ -121,6 +121,8 @@
         assertNotNull(outputValue);
         assertTrue(((Collection)outputValue).isEmpty());
 
+        // TODO if collection type is an interface (but how to know?) test matched Instance|ClassNames field sync. 
+
     }
 
     private static void handleSimpleProperty(Object bean, Field field, Method setter, Method getter)



More information about the jboss-svn-commits mailing list