[jboss-svn-commits] JBL Code SVN: r23442 - in labs/jbosstm/trunk: atsintegration/classes/com/arjuna/ats/jbossatx/jts and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Oct 13 09:47:00 EDT 2008


Author: mark.little at jboss.com
Date: 2008-10-13 09:47:00 -0400 (Mon, 13 Oct 2008)
New Revision: 23442

Modified:
   labs/jbosstm/trunk/ArjunaJTS/jts/classes/com/arjuna/ats/jts/TransactionServer.java
   labs/jbosstm/trunk/atsintegration/classes/com/arjuna/ats/jbossatx/jts/TransactionManagerService.java
Log:
https://jira.jboss.org/jira/browse/JBTM-403

Modified: labs/jbosstm/trunk/ArjunaJTS/jts/classes/com/arjuna/ats/jts/TransactionServer.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jts/classes/com/arjuna/ats/jts/TransactionServer.java	2008-10-13 13:42:12 UTC (rev 23441)
+++ labs/jbosstm/trunk/ArjunaJTS/jts/classes/com/arjuna/ats/jts/TransactionServer.java	2008-10-13 13:47:00 UTC (rev 23442)
@@ -45,7 +45,57 @@
 
 public class TransactionServer
 {
+    // TODO consider as a util class addition?
     
+    public static final int getResolver ()
+    {
+        int resolver = com.arjuna.orbportability.common.Configuration.bindDefault();
+        final String resolveService = jtsPropertyManager.propertyManager.getProperty(com.arjuna.orbportability.common.Environment.RESOLVE_SERVICE);
+
+        if (resolveService != null)
+        {
+            if (resolveService.compareTo("NAME_SERVICE") == 0)
+                resolver = com.arjuna.orbportability.Services.NAME_SERVICE;
+            else
+            {
+                if (resolveService.compareTo("BIND_CONNECT") == 0)
+                    resolver = com.arjuna.orbportability.Services.BIND_CONNECT;
+                else
+                {
+                    if (resolveService.compareTo("FILE") == 0)
+                        resolver = com.arjuna.orbportability.Services.FILE;
+                    else
+                    {
+                        if (resolveService.compareTo("RESOLVE_INITIAL_REFERENCES") == 0)
+                            resolver = com.arjuna.orbportability.Services.RESOLVE_INITIAL_REFERENCES;
+                    }
+                }
+            }
+        }
+
+        return resolver;
+    }
+
+    private static final void registerTransactionManager (final int resolver, ORB myORB, org.omg.CosTransactions.TransactionFactory theOTS) throws Exception
+    {
+        final Services myServ = new Services(myORB);
+
+        if (resolver != com.arjuna.orbportability.Services.BIND_CONNECT)
+        {
+            String[] params = new String[1];
+
+            params[0] = com.arjuna.orbportability.Services.otsKind;
+
+            /*                                                                                                                                           
+             * Register using the default mechanism.                                                                                                     
+             */
+
+            myServ.registerService(theOTS, com.arjuna.orbportability.Services.transactionService, params, resolver);
+
+            params = null;
+        }
+    }
+    
     public static void main (String[] args)
     {
 	String refFile = com.arjuna.orbportability.Services.transactionService;
@@ -73,29 +123,7 @@
 	}
 
 	com.arjuna.ats.internal.jts.orbspecific.TransactionFactoryImple theOTS = null;
-	int resolver = com.arjuna.orbportability.common.Configuration.bindDefault();
-	String resolveService = jtsPropertyManager.propertyManager.getProperty(com.arjuna.orbportability.common.Environment.RESOLVE_SERVICE);
-
-	if (resolveService != null)
-	{
-	    if (resolveService.compareTo("NAME_SERVICE") == 0)
-		resolver = com.arjuna.orbportability.Services.NAME_SERVICE;
-	    else
-	    {
-		if (resolveService.compareTo("BIND_CONNECT") == 0)
-		    resolver = com.arjuna.orbportability.Services.BIND_CONNECT;
-		else
-		{
-		    if (resolveService.compareTo("FILE") == 0)
-			resolver = com.arjuna.orbportability.Services.FILE;
-		    else
-		    {
-			if (resolveService.compareTo("RESOLVE_INITIAL_REFERENCES") == 0)
-			    resolver = com.arjuna.orbportability.Services.RESOLVE_INITIAL_REFERENCES;
-		    }
-		}
-	    }
-	}
+	final int resolver = getResolver();
 	
 	try
 	{
@@ -121,29 +149,10 @@
 
 	    try
 	    {
-		Services myServ = new Services(myORB);
-		
-		System.err.println("**checking "+resolver);
-		
-		if (resolver != com.arjuna.orbportability.Services.BIND_CONNECT)
-		{
-		    String[] params = new String[1];
+	        registerTransactionManager(resolver, myORB, theOTS.getReference());
 
-		    params[0] = com.arjuna.orbportability.Services.otsKind;
-
-		    /*
-		     * Register using the default mechanism.
-		     */
-
-		    System.err.println("**registering**");
-		    
-		    myServ.registerService(theOTS.getReference(), com.arjuna.orbportability.Services.transactionService, params, resolver);
-
-		    params = null;
-		}
-
-		if (!printReady)
-		    System.out.println("Transaction manager registered.");
+                if (!printReady)
+                    System.out.println("Transaction manager registered.");
 	    }
 	    catch (Exception e1)
 	    {

Modified: labs/jbosstm/trunk/atsintegration/classes/com/arjuna/ats/jbossatx/jts/TransactionManagerService.java
===================================================================
--- labs/jbosstm/trunk/atsintegration/classes/com/arjuna/ats/jbossatx/jts/TransactionManagerService.java	2008-10-13 13:42:12 UTC (rev 23441)
+++ labs/jbosstm/trunk/atsintegration/classes/com/arjuna/ats/jbossatx/jts/TransactionManagerService.java	2008-10-13 13:47:00 UTC (rev 23442)
@@ -218,7 +218,21 @@
         jtaPropertyManager.propertyManager.setProperty(Environment.TSR_JNDI_CONTEXT, "java:/TransactionSynchronizationRegistry");
 
         JNDIManager.bindJTATransactionManagerImplementation();
-		JNDIManager.bindJTATransactionSynchronizationRegistryImplementation();
+        JNDIManager.bindJTATransactionSynchronizationRegistryImplementation();
+
+        try
+        {
+            org.omg.CosTransactions.TransactionFactory factory = com.arjuna.ats.jts.OTSManager.get_factory();
+            final int resolver = com.arjuna.ats.jts.TransactionServer.getResolver();
+    
+            com.arjuna.ats.jts.TransactionServer.registerTransactionManager(resolver, ORB.getInstance("jboss-atx"), factory);
+        }
+        catch (final Exception ex)
+        {
+            log.fatal("Problem encountered while trying to register transaction manager with ORB!");
+
+            throw new Exception("Problem encountered while trying to register transaction manager with ORB! "+ex);
+        }
     }
 
     public void start(org.omg.CORBA.ORB theCorbaORB) throws Exception




More information about the jboss-svn-commits mailing list