[jboss-jira] [JBoss JIRA] Updated: (JBAS-5908) ClientUserTransactionObjectFactory is inefficient
Dimitris Andreadis (JIRA)
jira-events at lists.jboss.org
Thu Sep 4 06:45:38 EDT 2008
[ https://jira.jboss.org/jira/browse/JBAS-5908?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dimitris Andreadis updated JBAS-5908:
-------------------------------------
Fix Version/s: JBossAS-5.0.0.GA
(was: JBossAS-5.0.0.CR2)
I think it's better to postpone this for AS5 GA, to avoid producing yet another release of the integration spis now.
> ClientUserTransactionObjectFactory is inefficient
> -------------------------------------------------
>
> Key: JBAS-5908
> URL: https://jira.jboss.org/jira/browse/JBAS-5908
> Project: JBoss Application Server
> Issue Type: Task
> Security Level: Public(Everyone can see)
> Components: Transaction Manager (JBossTM)
> Affects Versions: JBossAS-5.0.0.CR1, JBossAS-4.2.3.GA
> Reporter: Adrian Brock
> Assignee: Galder Zamarreno
> Fix For: JBossAS-5.0.0.GA, JBossAS-4.2.4.GA
>
>
> The ClientUserTransactionObjectFactory is inefficient.
> 1) It is doing initialisation based on a static cached instance
> Since nothing holds a hard reference to this class, it can be garbage collected meaning the
> initialisation can be done multiple times.
> 2) The determination and resolving of the ServerVMClientUserTransaction does the lookup
> for the transaction twice. Once when initialising the singleton and again to see whether it should
> use the singleton.
> Both issues could be resolved by simplifying ClientUserTransactionObjectFactory.getUserTransaction()
> to be something (which removes the need for the cached object)
> static private UserTransaction getUserTransaction()
> {
> ServerVMClientUserTransaction serverUserTransaction = ServerVMClientUserTransaction.getSingleton();
> if (serverUserTranasction.isServer())
> return serverUserTransaction;
> else
> return ClientUserTransaction.getSingleton();
> }
> This would require a new method on ServerVMClientUserTransaction to detect whether it can be used,
> i.e. it can locate a local transaction manager.
> public boolean isServer()
> {
> return tm != null;
> }
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list