Seata中有 ProjectA ProjectB 两个微服务(Dubbo服务) ProjectA 项目里有 dsA 和 dsB 两个数据源 , 使用 MyBatis-Plus的 @DS 管理, ProjectB 项目里有 dsC 和 dsD 两个数据源 , 使用 MyBatis-Plus的 @DS 管理, 问题: 当我有一个业务操作, ProjectA 项目 执行了 dsA , 再执行dsB , 再调用 ProjectB, ProjectB执行dsC , 接着dsD 的时候, Seata全局事务会出现回滚失败的问题. 请问一下: 目前这个问题有什么办法可以解决吗?
dynamic-datasource-spring-boot-starter 组件内部开启seata后会自动使用DataSourceProxy来包装DataSource,所以需要以下方式来保持兼容 1.如果你引入的是seata-all,请不要使用@EnableAutoDataSourceProxy注解. 2.如果你引入的是seata-spring-boot-starter 请关闭自动代理 seata: enable-auto-data-source-proxy: false 把seata自带的自动代理关闭一下。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。