3

我有一个用@Service. 我有一个方法应该更新两个不同的数据源(数据库和内容存储库)。我已经@Transactional在服务类中添加了方法。无需任何进一步的定制;两个存储库类(用 注释@Repository)在同一个事务中运行是否正确?

我正在使用 JBoss 7.1.1,并且在 Spring (3.2) 配置中有这两行:

<tx:jta-transaction-manager/>
<tx:annotation-driven proxy-target-class="true"/>

或者这是否在两个不同的事务中运行?我只想在服务层方法中没有引发运行时异常时提交数据。它是从控制器方法(用 注释的类@Controller)调用的。

我将尽快为帮助我获得 Jackrabbit 和数据库连接以在同一事务中运行的人添加 500 赏金。我正在使用 JBoss 7.1.1、Spring 3.2、Jackrabbit 2.6.2 JCA。

4

1 回答 1

0

如果没有任何进一步的定制,这两个存储库类将在不同的事务中运行。

您正在寻找的是所谓的分布式事务这里这里都有 StackOverflow 的答案。如果您没有在 Java EE 服务器中运行,这里有一篇文章描述了为像 Tomcat 这样的普通 servlet 容器设置分布式事务。

于 2013-09-06T12:21:27.377 回答