|
@@ -9,6 +9,8 @@ import javax.servlet.ServletException;
|
|
import javax.servlet.ServletRequest;
|
|
import javax.servlet.ServletRequest;
|
|
import javax.servlet.ServletResponse;
|
|
import javax.servlet.ServletResponse;
|
|
import javax.sql.DataSource;
|
|
import javax.sql.DataSource;
|
|
|
|
+
|
|
|
|
+import org.springframework.beans.factory.annotation.Qualifier;
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
|
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
|
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
|
@@ -33,29 +35,24 @@ import com.fs.framework.datasource.DynamicDataSource;
|
|
public class DruidConfig
|
|
public class DruidConfig
|
|
{
|
|
{
|
|
@Bean
|
|
@Bean
|
|
- @ConfigurationProperties("spring.datasource.mysql.druid.master")
|
|
|
|
- public DataSource masterDataSource(DruidProperties druidProperties)
|
|
|
|
- {
|
|
|
|
- DruidDataSource dataSource = DruidDataSourceBuilder.create().build();
|
|
|
|
- return druidProperties.dataSource(dataSource);
|
|
|
|
|
|
+ @ConfigurationProperties(prefix = "spring.datasource.sop.druid.master")
|
|
|
|
+ public DataSource sopDataSource() {
|
|
|
|
+ return new DruidDataSource();
|
|
}
|
|
}
|
|
|
|
|
|
@Bean
|
|
@Bean
|
|
- @ConfigurationProperties("spring.datasource.mysql.druid.slave")
|
|
|
|
- @ConditionalOnProperty(prefix = "spring.datasource.mysql.druid.slave", name = "enabled", havingValue = "true")
|
|
|
|
- public DataSource slaveDataSource(DruidProperties druidProperties)
|
|
|
|
- {
|
|
|
|
- DruidDataSource dataSource = DruidDataSourceBuilder.create().build();
|
|
|
|
- return druidProperties.dataSource(dataSource);
|
|
|
|
|
|
+ @ConfigurationProperties(prefix = "spring.datasource.mysql.druid.master")
|
|
|
|
+ public DataSource masterDataSource() {
|
|
|
|
+ return new DruidDataSource();
|
|
}
|
|
}
|
|
|
|
|
|
- @Bean(name = "dynamicDataSource")
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ @Bean
|
|
@Primary
|
|
@Primary
|
|
- public DynamicDataSource dataSource(DataSource masterDataSource)
|
|
|
|
- {
|
|
|
|
|
|
+ public DynamicDataSource dataSource(@Qualifier("masterDataSource") DataSource masterDataSource, @Qualifier("sopDataSource") DataSource sopDataSource) {
|
|
Map<Object, Object> targetDataSources = new HashMap<>();
|
|
Map<Object, Object> targetDataSources = new HashMap<>();
|
|
- targetDataSources.put(DataSourceType.MASTER.name(), masterDataSource);
|
|
|
|
- setDataSource(targetDataSources, DataSourceType.SLAVE.name(), "slaveDataSource");
|
|
|
|
|
|
+ targetDataSources.put(DataSourceType.SOP.name(), sopDataSource);
|
|
return new DynamicDataSource(masterDataSource, targetDataSources);
|
|
return new DynamicDataSource(masterDataSource, targetDataSources);
|
|
}
|
|
}
|
|
|
|
|