seata 在 OpenFeign fallback 下不回滚事务

A 通过 openfeign 调用 B,并配置了 fallback。

当 B 抛出异常的时候,B 没有写入操作,但是 A 却写入了,并没有回滚。

当然去掉 fallback 后就可以回滚。请问这种情况怎么处理呢?


Seata
fallback
2023-04-06 14:18:46
浏览
2
收藏 0
回答 2
待解决
回答 2
按赞同
/
按时间
Potatoes先生
1

你这个问题我碰到过,有两种情况,第一种,回滚的话要确保xid是在传递的,否则不会有分布式事务。

第二,要在调用feign之后,判断返回,比如我们是统一了返回结构的,如果发生异常,调用端需要判断请求B服务是否成功,如果返回了code=错误,就要手动抛出异常,如果不想这么做,我记得有一个全局的熔断异常,捕获到之后进行回滚操作,但无论哪种方式,你都应该判断feign之后是否成功

分享
微博
QQ
微信
回复
2023-04-06 16:14:18
wx5cc95d6d39baf

熔断的地方 要抛异常的,不然肯定不会回滚

分享
微博
QQ
微信
回复
2023-06-21 11:57:41
相关问题
space-betweenapi6 下不生效的问题
4279浏览 • 1回复 待解决
请问,seata 支持 OceanBase吗?
2575浏览 • 1回复 待解决
Redis的事务是什么有懂的吗?
1075浏览 • 1回复 待解决
一个更新操作有必要用到事务吗?
686浏览 • 1回复 待解决
jms linux 下怎么应用?
1133浏览 • 1回复 待解决
cmd中打印Hilog日志
241浏览 • 1回复 待解决