|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.springframework.transaction.jta.JotmFactoryBean
public class JotmFactoryBean
FactoryBean that retrieves the JTA UserTransaction/TransactionManager
for ObjectWeb's JOTM. Will retrieve
an already active JOTM instance if found (e.g. if running in JOnAS),
else create a new local JOTM instance.
With JOTM, the same object implements both the
UserTransaction and the
TransactionManager interface,
as returned by this FactoryBean.
A local JOTM instance is well-suited for working in conjunction with ObjectWeb's XAPool, e.g. with bean definitions like the following:
<bean id="jotm" class="org.springframework.transaction.jta.JotmFactoryBean"/> <bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager"> <property name="userTransaction" ref="jotm"/> </bean> <bean id="innerDataSource" class="org.enhydra.jdbc.standard.StandardXADataSource" destroy-method="shutdown"> <property name="transactionManager" ref="jotm"/> <property name="driverName" value="..."/> <property name="url" value="..."/> <property name="user" value="..."/> <property name="password" value="..."/> </bean> <bean id="dataSource" class="org.enhydra.jdbc.pool.StandardXAPoolDataSource" destroy-method="shutdown"> <property name="dataSource" ref="innerDataSource"/> <property name="user" value="..."/> <property name="password" value="..."/> <property name="maxSize" value="..."/> </bean>Note that Spring's
JtaTransactionManager will automatically detect
that the passed-in UserTransaction reference also implements the
TransactionManager interface. Hence, it is not necessary to specify a
separate reference for JtaTransactionManager's "transactionManager" property.
Implementation note: This FactoryBean uses JOTM's static access method
to obtain the JOTM Current object, which
implements both the UserTransaction and the TransactionManager interface,
as mentioned above.
JtaTransactionManager.setUserTransaction(javax.transaction.UserTransaction),
JtaTransactionManager.setTransactionManager(javax.transaction.TransactionManager),
Current| Constructor Summary | |
|---|---|
JotmFactoryBean()
|
|
| Method Summary | |
|---|---|
void |
destroy()
Stop the local JOTM instance, if created by this FactoryBean. |
org.objectweb.jotm.Jotm |
getJotm()
Return the JOTM instance created by this factory bean, if any. |
Object |
getObject()
|
Class |
getObjectType()
|
boolean |
isSingleton()
|
void |
setDefaultTimeout(int defaultTimeout)
Set the default transaction timeout for the JOTM instance. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public JotmFactoryBean()
throws NamingException
NamingException| Method Detail |
|---|
public void setDefaultTimeout(int defaultTimeout)
Should only be called for a local JOTM instance, not when accessing an existing (shared) JOTM instance.
public org.objectweb.jotm.Jotm getJotm()
null if an already active JOTM instance is used.
Application code should never need to access this.
public Object getObject()
getObject in interface org.springframework.beans.factory.FactoryBeanpublic Class getObjectType()
getObjectType in interface org.springframework.beans.factory.FactoryBeanpublic boolean isSingleton()
isSingleton in interface org.springframework.beans.factory.FactoryBeanpublic void destroy()
destroy in interface org.springframework.beans.factory.DisposableBean
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||