[jboss-cvs] JBossAS SVN: r81039 - trunk/server/src/main/org/jboss/tm/usertx/client.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Nov 14 08:57:16 EST 2008


Author: galder.zamarreno at jboss.com
Date: 2008-11-14 08:57:16 -0500 (Fri, 14 Nov 2008)
New Revision: 81039

Modified:
   trunk/server/src/main/org/jboss/tm/usertx/client/ClientUserTransactionObjectFactory.java
Log:
[JBAS-5908] Inefficiency fixed.

Modified: trunk/server/src/main/org/jboss/tm/usertx/client/ClientUserTransactionObjectFactory.java
===================================================================
--- trunk/server/src/main/org/jboss/tm/usertx/client/ClientUserTransactionObjectFactory.java	2008-11-14 13:43:27 UTC (rev 81038)
+++ trunk/server/src/main/org/jboss/tm/usertx/client/ClientUserTransactionObjectFactory.java	2008-11-14 13:57:16 UTC (rev 81039)
@@ -26,10 +26,8 @@
 import java.util.Hashtable;
 
 import javax.naming.Context;
-import javax.naming.InitialContext;
 import javax.naming.Reference;
 import javax.naming.Name;
-import javax.naming.NamingException;
 import javax.naming.spi.ObjectFactory;
 
 import javax.transaction.UserTransaction;
@@ -40,40 +38,30 @@
  *  usage for standalone clients.
  *      
  *  @author <a href="mailto:osh at sparre.dk">Ole Husgaard</a>
+ *  @author <a href="mailto:galder.zamarreno at jboss.com">Galder Zamarreno</a>
  *  @version $Revision$
  */
 public class ClientUserTransactionObjectFactory
    implements ObjectFactory
 {
    /**
-    *  The <code>UserTransaction</code> this factory will return.
-    *  This is evaluated lazily in {@link #getUserTransaction()}.
-    */
-   static private UserTransaction userTransaction = null;
-
-   /**
     *  Get the <code>UserTransaction</code> this factory will return.
     *  This may return a cached value from a previous call.
     */
    static private UserTransaction getUserTransaction()
    {
-      if (userTransaction == null) {
-         // See if we have a local TM
-         try {
-            new InitialContext().lookup("java:/TransactionManager");
-
-            // We execute in the server.
-            userTransaction = ServerVMClientUserTransaction.getSingleton();
-         } catch (NamingException ex) {
-            // We execute in a stand-alone client.
-            ClientUserTransaction cut = ClientUserTransaction.getSingleton();
-
-            // Tell the proxy that this is the factory for
-            // transaction propagation contexts.
-            TransactionPropagationContextUtil.setTPCFactory(cut);
-            userTransaction = cut;
-         }
+      UserTransaction userTransaction = null;
+      ServerVMClientUserTransaction serverUserTransaction = ServerVMClientUserTransaction.getSingleton();
+      if (serverUserTransaction.isServer())
+      {
+         userTransaction = serverUserTransaction;
       }
+      else
+      {
+         ClientUserTransaction cut = ClientUserTransaction.getSingleton();
+         TransactionPropagationContextUtil.setTPCFactory(cut);
+         userTransaction = cut;
+      }
       return userTransaction;
    }
 




More information about the jboss-cvs-commits mailing list