|
@@ -39,13 +39,27 @@ public class DataSourceConfig {
|
|
|
return new DruidDataSource();
|
|
return new DruidDataSource();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Bean
|
|
|
|
|
+ @ConfigurationProperties(prefix = "spring.datasource.sop.druid.read")
|
|
|
|
|
+ public DataSource sopSlaveDataSource() {
|
|
|
|
|
+ return new DruidDataSource();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Bean
|
|
|
|
|
+ @ConfigurationProperties(prefix = "spring.datasource.mysql.druid.slave")
|
|
|
|
|
+ public DataSource masterSlaveDataSource() {
|
|
|
|
|
+ return new DruidDataSource();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Bean
|
|
@Bean
|
|
|
@Primary
|
|
@Primary
|
|
|
- public DynamicDataSource dataSource(@Qualifier("clickhouseDataSource") DataSource clickhouseDataSource,@Qualifier("masterDataSource") DataSource masterDataSource, @Qualifier("sopDataSource") DataSource sopDataSource) {
|
|
|
|
|
|
|
+ public DynamicDataSource dataSource(@Qualifier("clickhouseDataSource") DataSource clickhouseDataSource, @Qualifier("masterDataSource") DataSource masterDataSource, @Qualifier("sopDataSource") DataSource sopDataSource, @Qualifier("masterSlaveDataSource") DataSource masterSlaveDataSource, @Qualifier("sopSlaveDataSource") DataSource sopSlaveDataSource) {
|
|
|
Map<Object, Object> targetDataSources = new HashMap<>();
|
|
Map<Object, Object> targetDataSources = new HashMap<>();
|
|
|
targetDataSources.put(DataSourceType.MASTER, masterDataSource);
|
|
targetDataSources.put(DataSourceType.MASTER, masterDataSource);
|
|
|
targetDataSources.put(DataSourceType.SOP.name(), sopDataSource);
|
|
targetDataSources.put(DataSourceType.SOP.name(), sopDataSource);
|
|
|
targetDataSources.put(DataSourceType.CLICKHOUSE.name(), clickhouseDataSource);
|
|
targetDataSources.put(DataSourceType.CLICKHOUSE.name(), clickhouseDataSource);
|
|
|
|
|
+ targetDataSources.put(DataSourceType.SLAVE.name(), masterSlaveDataSource);
|
|
|
|
|
+ targetDataSources.put(DataSourceType.SopREAD.name(), sopSlaveDataSource);
|
|
|
return new DynamicDataSource(masterDataSource, targetDataSources);
|
|
return new DynamicDataSource(masterDataSource, targetDataSources);
|
|
|
}
|
|
}
|
|
|
|
|
|