我有两个服务,一个A服务,一个B服务,A方法添加了事物@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class),A方法逻辑里面先去修改A数据库中的A表,成功后通过feign去调用B服务中的方法修改B库的B表(B服务中的方法也开启了事物@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)),最后在执行A方法中剩下的不重要的逻辑。所以前端在请求A方法时,A方法中有三个逻辑:1、先去修改A表2、通过feign修改B表3、执行其他逻辑
现在有几个问题:
1、如果我在调用B服务执行B方法的时候报错了,那么A服务已经修改的A数据表会回滚吗?
2、如果我在修改A、B时都没报错,但是我在执行不重要的逻辑的时候报错了,那么修改的A、B的数据表都会回滚吗
如果不能保证两个服务同时回滚,那么我该怎么解决这个问题呢?用什么技术解决这个问题呢?

Spring事物求解
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-