@Transaction无法跨不同服务中的多种方法工作

时间:2019-02-15 17:27:27

标签: spring-boot jdbctemplate spring-transactions

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

说明:例外是运行时

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

解决方案:服务之一中有一个截断表,该表终止了事务。我们将其更改为从中删除,一切现在都可以事务处理。

0 个答案:

没有答案