一、该问题的重现步骤是什么?
定时任务中切换私有数据源;官方提供的两种注解方式都尝试过了。
二、你期待的结果是什么?实际看到的又是什么?
在定时任务中,能正确切换到对应租户的数据源中
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
商业版:2.6.0
开发环境中win10系统
四、请提供详细的错误堆栈信息,这很重要。
未能正确切换数据源
五、若有更多详细信息,请在下面提供。
看顶层源码中的这种方法能正常切换过去,但担心会遇到一些未知的问题(比如并发等),请求作者帮忙解答下。
bladex自带的多租户数据源切换是强制要求要有token才行,而token需要有正常的request才能携带。
所以定时任务、多线程这一类异步请求就取不到了,不能封装的注解直接切换。
如果时定时任务场景,需要使用 DynamicDataSourceContextHolder.push 来手动切换租户,当然这个是用本地线程实现的,理论上不会有并发的问题,如果超高并发遇到问题,要么给mybatis-plus发issue,要么只能自己动手改造提高他的并发能力
扫一扫访问 Blade技术社区 移动端