|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.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. 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="..."/> </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>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()
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()
Return an instance (possibly shared or independent) of the object managed by this factory. |
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? |
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 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()
FactoryBean
If this method returns null, the factory will consider the FactoryBean as not fully initialized and throw a corresponding FactoryBeanNotInitializedException.
getObject
in interface FactoryBean
null
; a null value
will be considered as an indication of incomplete initialization)FactoryBeanNotInitializedException
public Class getObjectType()
FactoryBean
null
if not known in advance. This allows to check for specific types
of beans without instantiating objects, for example on autowiring.
For a singleton, this should try to avoid singleton creation as far as possible; it should rather estimate the type in advance. For prototypes, returning a meaningful type here is advisable too.
This method can be called before this FactoryBean has been fully initialized. It must not rely on state created during initialization; of course, it can still use such state if available.
NOTE: Autowiring will simply ignore FactoryBeans that return null here. Therefore it is highly recommended to implement this method properly, using the current state of the FactoryBean.
getObjectType
in interface FactoryBean
null
if not known at the time of the callListableBeanFactory.getBeansOfType(java.lang.Class)
public boolean isSingleton()
FactoryBean
The singleton status of the FactoryBean itself will generally be provided by the owning BeanFactory; usually, it has to be defined as singleton there.
isSingleton
in interface FactoryBean
public void destroy()
destroy
in interface DisposableBean
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |