一、该问题的重现步骤是什么?
1. 租户数据源配置
2. 导入接口开发
3.导入数据
二、你期待的结果是什么?实际看到的又是什么?
期待得结果是导入得数据根据租户来入不同得数据库,实际在查询得时候和在add得时候都是用得默认数据库
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
2.8.2
开发环境 windows
四、请提供详细的错误堆栈信息,这很重要。
service类
查询语句
日志输出SQL语句
controller配置
五、若有更多详细信息,请在下面提供。
你用了Async,进程取不到request,自然也就无法获取租户id了,需要手动调用api切换租户数据源,具体说明见:https://sns.bladex.cn/q-5045.html
切换后的数据源
结果
数据源是更换了,但是最终保存的数据
还是没有更换
是不是在插入数据的时候我要收到把租户ID的值设置上,这样也可以解决问题,但是不知道是不是我没有用上框架的高级功能,有没有可以切换数据源后,mapper的查询、新增等等会自动加上租户ID的方法
首先你数据源切换成功,说明没有问题了。
其次插入的数据租户id不对,还是因为异步没有获取到request,所以不能获取到tenantId来自动插入。
所以保存前你也要把租户id获取并且设置到bean内才行。
框架内的租户id自动拼接以及数据源自动切换,一切都建立在有request可以获取到租户id的场景。
在异步场景是获取不到的,所以需要手动处理,无法自动处理。
扫一扫访问 Blade技术社区 移动端