[jboss-cvs] JBossAS SVN: r77958 - branches/JBPAPP_4_2_0_GA_CP/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:30:09 EDT 2008
Author: galder.zamarreno at jboss.com
Date: 2008-09-04 06:30:08 -0400 (Thu, 04 Sep 2008)
New Revision: 77958
Modified:
branches/JBPAPP_4_2_0_GA_CP/server/src/main/org/jboss/tm/usertx/client/ClientUserTransactionObjectFactory.java
branches/JBPAPP_4_2_0_GA_CP/server/src/main/org/jboss/tm/usertx/client/ServerVMClientUserTransaction.java
Log:
[JBPAPP-1161] Avoid multiple initialisations by removing the need for cached object and improved efficiency.
Modified: branches/JBPAPP_4_2_0_GA_CP/server/src/main/org/jboss/tm/usertx/client/ClientUserTransactionObjectFactory.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP/server/src/main/org/jboss/tm/usertx/client/ClientUserTransactionObjectFactory.java 2008-09-04 10:26:32 UTC (rev 77957)
+++ branches/JBPAPP_4_2_0_GA_CP/server/src/main/org/jboss/tm/usertx/client/ClientUserTransactionObjectFactory.java 2008-09-04 10:30:08 UTC (rev 77958)
@@ -40,41 +40,31 @@
* 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;
}
- return userTransaction;
+ else
+ {
+ ClientUserTransaction cut = ClientUserTransaction.getSingleton();
+ TransactionPropagationContextUtil.setTPCFactory(cut);
+ userTransaction = cut;
+ }
+ return userTransaction;
}
public Object getObjectInstance(Object obj, Name name,
Modified: branches/JBPAPP_4_2_0_GA_CP/server/src/main/org/jboss/tm/usertx/client/ServerVMClientUserTransaction.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP/server/src/main/org/jboss/tm/usertx/client/ServerVMClientUserTransaction.java 2008-09-04 10:26:32 UTC (rev 77957)
+++ branches/JBPAPP_4_2_0_GA_CP/server/src/main/org/jboss/tm/usertx/client/ServerVMClientUserTransaction.java 2008-09-04 10:30:08 UTC (rev 77958)
@@ -46,6 +46,7 @@
* <code>TransactionManager</code> of the server.
*
* @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 ServerVMClientUserTransaction
@@ -102,6 +103,11 @@
// Public --------------------------------------------------------
+ public boolean isServer()
+ {
+ return tm != null;
+ }
+
//Registration for TransactionStartedListeners.
public void registerTxStartedListener(UserTransactionStartedListener txStartedListener)
More information about the jboss-cvs-commits
mailing list