gpt4 book ai didi

java - Spring中@Transactional的正确使用

转载 作者:行者123 更新时间:2023-12-02 08:37:34 24 4
gpt4 key购买 nike

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

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

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

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

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

最佳答案

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

您要查找的内容称为 Distributed Transaction ,有 StackOverflow 的答案 herehere 。如果您没有在 Java EE 服务器中运行,这里有一个 article描述了为 Tomcat 这样的普通 servlet 容器设置分布式事务。

关于java - Spring中@Transactional的正确使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18642913/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com