|
Spring Data Neo4j | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.springframework.data.neo4j.transaction.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 |
afterPropertiesSet()
|
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. |
void |
setJotmHome(String jotmHome)
|
void |
setTransactionRecovery(boolean transactionRecovery)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public JotmFactoryBean()
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 void setTransactionRecovery(boolean transactionRecovery) throws SystemException
SystemException
public void setJotmHome(String jotmHome)
jotmHome
- the directory that contains conf/jotm.propertiespublic void afterPropertiesSet() throws Exception
afterPropertiesSet
in interface InitializingBean
Exception
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 FactoryBean
public Class getObjectType()
getObjectType
in interface FactoryBean
public boolean isSingleton()
isSingleton
in interface FactoryBean
public void destroy()
destroy
in interface DisposableBean
|
Spring Data Neo4j | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |