我基于 spring、jpa 和 neo4j 配置了我的应用程序,以使用 JOTM 进行事务管理,配置如下。
<context:annotation-config />
<bean id="jotm" class="org.springframework.data.neo4j.transaction.JotmFactoryBean"/>
<bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager">
<bean id="graphDatabaseService" class="org.neo4j.kernel.EmbeddedGraphDatabase"
destroy-method="shutdown" scope="singleton">
<constructor-arg index="0" value="${neo4j.dblocation}" />
<constructor-arg index="1">
<map>
<entry key="TXMANAGER_IMPLEMENTATION" value="spring-jta" />
</map>
</constructor-arg>
</bean>
<neo4j:config graphDatabaseService="graphDatabaseService" />
<tx:annotation-driven mode="aspectj" transaction-manager="transactionManager" />
但我面临着 org.springframework.transaction.jta.JtaTransactionManager 类的两个实例:jtaTransactionManager、neo4jTransactionManager。
我的日志:
使用 JTA UserTransaction:org.objectweb.jotm.Current@81e88 使用 JTA TransactionManager:org.objectweb.jotm.Current@81e88 使用 JTA UserTransaction:org.neo4j.kernel.impl.transaction.UserTransactionImpl@6cc760 使用 JTA TransactionManager:org.neo4j .kernel.impl.transaction.SpringTransactionManager@195ab57
我的配置是否正确,应该使用哪一个?
谢谢