Pre Merge pull request !1106 from ccchuang/master

pull/1106/MERGE
ccchuang 2025-12-02 11:30:26 +00:00 committed by Gitee
commit 23dfe3148c
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 43 additions and 1 deletions

View File

@ -15,5 +15,13 @@ public enum DataSourceType
/**
*
*/
SLAVE
SLAVE,
// 202.10.28 新增多个从库,避免后期修改代码
SLAVE2,
SLAVE3,
SLAVE4,
// 202.10.28 新增多个从库避免后期修改代码end
}

View File

@ -49,6 +49,34 @@ public class DruidConfig
return druidProperties.dataSource(dataSource);
}
// 202.10.28 新增多个从库,避免后期修改代码
@Bean
@ConfigurationProperties("spring.datasource.druid.slave2")
@ConditionalOnProperty(prefix = "spring.datasource.druid.slave2", name = "enabled", havingValue = "true")
public DataSource slaveDataSource2(DruidProperties druidProperties)
{
DruidDataSource dataSource = DruidDataSourceBuilder.create().build();
return druidProperties.dataSource(dataSource);
}
@Bean
@ConfigurationProperties("spring.datasource.druid.slave3")
@ConditionalOnProperty(prefix = "spring.datasource.druid.slave3", name = "enabled", havingValue = "true")
public DataSource slaveDataSource3(DruidProperties druidProperties)
{
DruidDataSource dataSource = DruidDataSourceBuilder.create().build();
return druidProperties.dataSource(dataSource);
}
@Bean
@ConfigurationProperties("spring.datasource.druid.slave4")
@ConditionalOnProperty(prefix = "spring.datasource.druid.slave4", name = "enabled", havingValue = "true")
public DataSource slaveDataSource4(DruidProperties druidProperties)
{
DruidDataSource dataSource = DruidDataSourceBuilder.create().build();
return druidProperties.dataSource(dataSource);
}
// 202.10.28 新增多个从库避免后期修改代码end
@Bean(name = "dynamicDataSource")
@Primary
public DynamicDataSource dataSource(DataSource masterDataSource)
@ -56,6 +84,12 @@ public class DruidConfig
Map<Object, Object> targetDataSources = new HashMap<>();
targetDataSources.put(DataSourceType.MASTER.name(), masterDataSource);
setDataSource(targetDataSources, DataSourceType.SLAVE.name(), "slaveDataSource");
// 202.10.28 新增多个从库,避免后期修改代码
setDataSource(targetDataSources, DataSourceType.SLAVE2.name(), "slaveDataSource2");
setDataSource(targetDataSources, DataSourceType.SLAVE3.name(), "slaveDataSource3");
setDataSource(targetDataSources, DataSourceType.SLAVE4.name(), "slaveDataSource4");
// 202.10.28 新增多个从库避免后期修改代码end
return new DynamicDataSource(masterDataSource, targetDataSources);
}