SpringBoot2中集成Seata和Mybatis-plus以及多数据源,批量操作事务不兼容?-灵析社区

中年复健狗

### yaml核心配置如下(参考mp的dynamic的官方文档) seata: enable-auto-data-source-proxy: false spring: datasource: dynamic: primary: master strict: true #开启seata代理,开启后默认每个数据源都代理,如果某个不需要代理可单独关闭 seata: true #支持XA及AT模式,默认AT seata-mode: AT ### 实现层代码如下(执行mp的批量) @Log4j2 @Service public class TestInfoCustom3541ServiceImpl extends ServiceImpl implements TestInfoService { @Override @GlobalTransactional(rollbackFor = Exception.class) public void doBatch() { List addList = new ArrayList(); for (int i = 0; i union.system.test.service.impl.TestInfoCustom3541ServiceImpl.executeBatch[189]-> SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@749ad02c] Transaction not enabled #### 如果是单条单条的save,则不会有任何问题。基于seata,官方也说和ORM层框架是不会影响的。dynamic-datasource官方文档也没有更多的说明,搜索目前也更多是说多数据源问题,参考调整了下,有些直接没法起,有些结果还是一样,不是很懂这方面,有没有大佬能解答一下

阅读量:133

点赞量:0

问AI
尝试更换一下这个呢 seata: - enable-auto-data-source-proxy: false + enableAutoDataSourceProxy: false "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20240921/b6e40813b65474936ab1a896279dc0a6.png)