|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.transaction.jta.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. 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 local="jotm"/></property>
</bean>
<bean id="innerDataSource" class="org.enhydra.jdbc.standard.StandardXADataSource" destroy-method="shutdown">
<property name="transactionManager"><ref local="jotm"/></property>
<property name="driverName">...</property>
<property name="url">...</property>
</bean>
<bean id="dataSource" class="org.enhydra.jdbc.pool.StandardXAPoolDataSource" destroy-method="shutdown">
<property name="dataSource"><ref local="innerDataSource"/></property>
<property name="maxSize">...</property>
</bean>
Uses JOTM's static access method to obtain the JOTM Current object, which implements both the UserTransaction and the TransactionManager interface.
JtaTransactionManager.setUserTransaction(javax.transaction.UserTransaction)
,
JtaTransactionManager.setTransactionManager(javax.transaction.TransactionManager)
,
Current
Constructor Summary | |
JotmFactoryBean()
|
Method Summary | |
void |
destroy()
Invoked by a BeanFactory on destruction of a singleton. |
org.objectweb.jotm.Jotm |
getJotm()
Return the JOTM instance created by this factory bean, if any. |
java.lang.Object |
getObject()
Return an instance (possibly shared or independent) of the object managed by this factory. |
java.lang.Class |
getObjectType()
Return the type of object that this FactoryBean creates, or null if not known in advance. |
boolean |
isSingleton()
Is the bean managed by this factory a singleton or a prototype? That is, will getObject() always return the same object? |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public JotmFactoryBean() throws java.lang.ClassNotFoundException, java.lang.NoSuchMethodException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, javax.naming.NamingException
Method Detail |
public org.objectweb.jotm.Jotm getJotm()
Application code should never need to access this.
public java.lang.Object getObject()
FactoryBean
getObject
in interface FactoryBean
public java.lang.Class getObjectType()
FactoryBean
For a singleton, this can simply return getObject().getClass(), or even null, as autowiring will always check the actual objects for singletons. For prototypes, returning a meaningful type here is highly advisable, as autowiring will simply ignore them else.
getObjectType
in interface FactoryBean
ListableBeanFactory.getBeansOfType(java.lang.Class, boolean, boolean)
public boolean isSingleton()
FactoryBean
The singleton status of the FactoryBean itself will generally be provided by the owning BeanFactory.
isSingleton
in interface FactoryBean
public void destroy()
DisposableBean
destroy
in interface DisposableBean
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |