[2023-03-31]多数据源切换方式
最后更新:2024-04-15 14:58:47
|
状态:未完成
2023-03-31之前多数据源切换是利用spring提供的AbstractRoutingDataSource为spring返回不同的数据源。
也就是同一个JdbcTemplate需要切换多个DataSource。
应用方式:启动类添加注解@Import(DynamicDataSourceRegister.class)
存在的问题是:
1.隔离性差
2.AbstractRoutingDataSource有可能存在多个实现造成冲突。(比如同一个项目中有其他工具或框架也实现了一个AbstractRoutingDataSource)
3.最主要的是使用方式不友好,经常有项目漏这漏那,导致切换失败。
2023-03-31之后的版本升级了新的切换方式:针对每个数据源生成一个JdbcTemplate,在运行时切换数据源,实际上是切换了JdbcTemplate
应用方式:默认支持,不需要其他设置。
在开发过程中切换方式以及配置文件与原来一致
三种切换数据源的方式,参考这里