切换数据源失败可能的原因

最后更新:2023-12-15 19:48:53 | 状态:未完成
如果没有切换数据源,但实际SQL执行时没有使用默认数据源而是莫名其妙的切换了,有可能在是线程池引起的。

因为DataSourceHolder在当前线程里设置了一个数据源名称的变量用来实现数据源切换,如果线程被复用,这个变量可能还保留着切换过的状态

切换数据源尽量这样切换
AnylineService service = ServiceProxy.service("数据源名称");
这实际是切换是的service,每个service会绑定一个固定的数据源,所以不会出现线程共享的问题
在8.7.1及之后版本中已经取消了setDataSource的方法
参考【为什么取消了DynamicDataSource/ThreadLocal切换数据源的方式
最近更新 搜索 提交