当前位置: 首页 > news >正文

Java中MybatisPlus使用多线程多数据源失效

Java中MybatisPlus使用多线程多数据源失效

文章目录

  • Java中MybatisPlus使用多线程多数据源失效
    • 一:背景
    • 二:解决方法
    • 三:其他导致@DS失效的条件
      • 3.1、@Transactional

一:背景

Mybatis-Plus使用异步任务后不能找到指定设置的@DS数据库,所有请求指向了主数据库

二:解决方法

import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
public void saveInventoryFlow(Long orgKkd, String orgNameKkd, List<SaveAbInventoryFlowReq> requests) {if (ObjectUtil.isEmpty(requests)) {return;}CompletableFuture.runAsync(() -> {DynamicDataSourceContextHolder.push("qjs");List<TemInventoryFlow> list = requests.stream().map(request -> {TemInventoryFlow abInventoryFlow = new TemInventoryFlow();BeanUtils.copyProperties(request, abInventoryFlow);abInventoryFlow.setOrgId(orgKkd);return abInventoryFlow;}).collect(Collectors.toList());temInventoryFlowRepo.saveBatch(list);DynamicDataSourceContextHolder.clear();}, poolExecutor);
}

三:其他导致@DS失效的条件

3.1、@Transactional

Spring的@Transactional声明式事务管理时通过动态代理实现的。

解决方法:
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
http://www.dtcms.com/a/333443.html

相关文章:

  • 集成电路学习:什么是Image Segmentation图像分割
  • 功能组和功能组状态的概念关系和区别
  • java16学习笔记-Vector API
  • oracle数据库初始化
  • 共探头部设计|安贝斯携手武汉科创协会x深钣协“湖北行”,链动D+M小镇的华中范式
  • Linux软件编程-进程(2)及线程(1)
  • 快速设计简易嵌入式操作系统(5):贴近实际场景,访问多外设,进一步完善程序
  • WPF 监控CPU、内存性能
  • python math数学运算模块
  • 【AI论文】Story2Board:一种无需训练的富有表现力故事板生成方法
  • Numerical Difference between vLLM logprobs and huggingface logprobs
  • windows下hashcat使用gpu破解execl打开密码
  • 深入Amazon DynamoDB:高效、无缝的数据存储解决方案
  • 项目生命周期
  • Python爬虫大师课:HTTP协议深度解析与工业级请求封装
  • k8s环境使用Operator部署Seaweedfs集群(一)
  • STM32传感器模块编程实践(十四)DIY语音+满溢检测智能垃圾桶模型
  • SD-WAN核心特点有哪些,适用哪些场景?
  • Rust 入门 泛型和特征-深入特征 (十五)
  • 【Cuda 编程思想】LinearQaunt-分块量化矩阵乘法计算过程
  • 关系型数据库核心组件:视图、函数与存储引擎详解
  • 分布式锁那些事
  • 机器学习中的PCA降维
  • ubuntu 20.04 搭建多用户远程桌面共享及同时在线使用
  • langGraph--2--langServe+langGraph示例
  • 云原生俱乐部-k8s知识点归纳(3)
  • Spark03-RDD01-简介+常用的Transformation算子
  • Rust 中 Box 的深度解析:作用、原理与最佳实践
  • 图解软件知识库体系
  • MiniSetupGetCdType函数分析之CDTYPE三种零售版oem版vol版