[jboss-cvs] JBossAS SVN: r77954 - branches/Branch_4_2/server/src/main/org/jboss/tm/usertx/client.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Sep 4 06:13:15 EDT 2008
Author: galder.zamarreno at jboss.com
Date: 2008-09-04 06:13:15 -0400 (Thu, 04 Sep 2008)
New Revision: 77954
Modified:
branches/Branch_4_2/server/src/main/org/jboss/tm/usertx/client/ClientUserTransactionObjectFactory.java
branches/Branch_4_2/server/src/main/org/jboss/tm/usertx/client/ServerVMClientUserTransaction.java
Log:
[JBAS-5908] Avoid multiple initialisations by removing the need for cached object and improved efficiency.
Modified: branches/Branch_4_2/server/src/main/org/jboss/tm/usertx/client/ClientUserTransactionObjectFactory.java
===================================================================
--- branches/Branch_4_2/server/src/main/org/jboss/tm/usertx/client/ClientUserTransactionObjectFactory.java 2008-09-04 09:44:22 UTC (rev 77953)
+++ branches/Branch_4_2/server/src/main/org/jboss/tm/usertx/client/ClientUserTransactionObjectFactory.java 2008-09-04 10:13:15 UTC (rev 77954)
@@ -46,35 +46,24 @@
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;
}
- return userTransaction;
+ else
+ {
+ ClientUserTransaction cut = ClientUserTransaction.getSingleton();
+ TransactionPropagationContextUtil.setTPCFactory(cut);
+ userTransaction = cut;
+ }
+ return userTransaction;
}
public Object getObjectInstance(Object obj, Name name,
Modified: branches/Branch_4_2/server/src/main/org/jboss/tm/usertx/client/ServerVMClientUserTransaction.java
===================================================================
--- branches/Branch_4_2/server/src/main/org/jboss/tm/usertx/client/ServerVMClientUserTransaction.java 2008-09-04 09:44:22 UTC (rev 77953)
+++ branches/Branch_4_2/server/src/main/org/jboss/tm/usertx/client/ServerVMClientUserTransaction.java 2008-09-04 10:13:15 UTC (rev 77954)
@@ -101,7 +101,14 @@
}
// Public --------------------------------------------------------
-
+
+ // Protected -----------------------------------------------------
+
+ protected boolean isServer()
+ {
+ return tm != null;
+ }
+
//Registration for TransactionStartedListeners.
public void registerTxStartedListener(UserTransactionStartedListener txStartedListener)
More information about the jboss-cvs-commits
mailing list