我有两个服务,一个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 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
悬赏问题
- ¥20 access中怎么分割分别获取一下图中的值
- ¥15 类图中关联与聚合的区别
- ¥15 ENVI高分五号去除云层的方法
- ¥15 16进制数据如何得到奇偶校验位
- ¥15 求合并两个字节流VB6代码
- ¥15 Pyqt 如何正确的关掉Qthread,并且释放其中的锁?
- ¥30 网站服务器通过node.js部署了一个项目!前端访问失败
- ¥15 WPS访问权限不足怎么解决
- ¥15 java幂等控制问题
- ¥15 海湾GST-DJ-N500