首页 > 解决方案 > @Transaction 不能跨不同服务中的多个方法工作

问题描述

我们有一个使用 JDBCTemplate 的 Spring Boot 应用程序,并且有 4 个服务调用(每个来自不同的服务),每个服务调用都对数据库进行了更新。当我们用 @Transaction 注释包装方法时,每个单独的服务调用都是事务性的,但是第三个服务调用中的异常不会回滚前 2 中所做的事情。(或者第二个中的异常不会回滚第一个一个等等...)

澄清:例外是运行时

编辑:我们已经尝试使用 @Transactional(propagation = Propagation.REQUIRED) ,它似乎应该在调用中保持事务,但它仍然无法正常工作。

解决方案:在结束事务的服务之一中有一个截断表。我们将把它改为删除,现在一切都在事务性地工作。

标签: spring-bootjdbctemplatespring-transactions

解决方案


推荐阅读