seata的API回滚全局事务,role应该是Launcher,为什么会是Participant呢?

用seata的API回滚全局事务的时候,发现全局事务还是提交了。然后debug了一下代码,发现程序进入了截图中红框的判断,并且判断条件为true。 lQLPJxa0JFtGoPPNAhzNA4-wyZWrbD3YI-8DKDYDtoDsAA_911_540.png 所以在下面就直接return了。我的服务是全局事务的发起者,role应该是Launcher,为什么会是Participant呢?

展开
收起
fuxixi 2022-09-26 16:15:29 501 发布于辽宁 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • globaltransation不是一个实例导致你获取当前的会构建一个参与者的新实例,这个globaltransation要保存在tm侧的线程上下文里,建议你放到环绕切面里,这样就是创建出来直接使用就行了,不需要放到threadlocal里。

    2022-09-26 17:19:29 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论

为企业提供高效、稳定、易扩展的中间件产品。

收录在圈子:
+ 订阅
阿里云中间件主要有包含这么几个: 分布式关系型数据库DRDS_水平拆分 做数据库扩展性的 、消息队列MQ 是做消息的中间件、企业级分布式应用服务EDAS 做分布式服务的、还有一些其他的中间件,比如配置服务、缓存等等。
还有其他疑问?
咨询AI助理
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等