乐趣区

关于java:一种配置多数据源的实现方式

  1. 创立一个 ComposeDataSource bean, 实现 spring 的 AbstractRoutingDataSource,并 exclude spring AutoDatabaseConfiguration。
  2. 在 ComposeDataSource 初始化办法里,初始化的多数据源,并设置到 DataSourceMap 中,其中 key 为数据源 id,value 为数据源实例。
  3. 执行数据库操作的办法上应用自定义注解,指定数据源 id。
  4. 应用 aspect,具体实现办法应用 aspectj 或者 sping aspect, 参考 @Async 文章,通过 id 查问数据源,并配置到 localThread。
  5. 执行数据库操作的办法时,调用 ComposeDataSource 的 getConnect 办法,从 localThread 取得理论数据源。
退出移动版