[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