java在同一事务Spring中提供多个资源提供者
我使用Jackrabbit来存储文件(数据存储)和休眠几乎所有的东西。我不知道有多少事务等,但我知道我希望这两个事务有一个全局事务,以便异常回滚所有事务。目前,数据库内容已回滚,但Jackrabbit没有回滚
我正在使用Spring3.2。我已经将Jackrabbit JCA适配器部署到JBoss(7.1.1)。我在配置xml中有以下几行:
<bean id="txManager"
class="org.springframework.transaction.jta.JtaTransactionManager"></bean>
<tx:annotation-driven transaction-manager="txManager"
proxy-target-class="true"/>
然而,这似乎还不够。有人能给我一些线索,让我知道我需要读什么/在哪里可以找到这方面的信息吗?如果其中一个资源提供者发生问题,我需要回滚所有内容
# 1 楼答案
这是相当棘手的设置。其中一个问题是spring自动使用“transactionManager”作为默认名称,这导致了问题。尽管同步不匹配的数据源很快就会成为一场噩梦,但这绝对值得付出努力
这是我的示例配置,它为我工作。当然,现在我们可能会使用@Configuration而不是xml。使用Spring数据、JTA、MySQL以及XA驱动程序和Neo4j,这一切都起到了作用。Neo4j的具体内容被省略了
Spring数据在这里也可能对您有所帮助
这是一个开始