Skip to content

Commit da26a58

Browse files
committed
根据配置自动选择DataSourceType
1 parent f3aa0e9 commit da26a58

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/datasource/ApiBootDataSourceSwitchAutoConfiguration.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@
22

33
import org.minbox.framework.api.boot.plugin.datasource.ApiBootDataSource;
44
import org.minbox.framework.api.boot.plugin.datasource.ApiBootDataSourceFactoryBean;
5-
import org.minbox.framework.api.boot.plugin.datasource.aop.interceptor.ApiBootDataSourceSwitchAnnotationInterceptor;
65
import org.minbox.framework.api.boot.plugin.datasource.aop.advistor.ApiBootDataSourceSwitchAdvisor;
6+
import org.minbox.framework.api.boot.plugin.datasource.aop.interceptor.ApiBootDataSourceSwitchAnnotationInterceptor;
77
import org.minbox.framework.api.boot.plugin.datasource.config.DataSourceConfig;
8+
import org.minbox.framework.api.boot.plugin.datasource.config.DataSourceDruidConfig;
89
import org.minbox.framework.api.boot.plugin.datasource.routing.ApiBootRoutingDataSource;
10+
import org.minbox.framework.api.boot.plugin.datasource.support.ApiBootDruidDataSource;
11+
import org.minbox.framework.api.boot.plugin.datasource.support.ApiBootHikariDataSource;
912
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
1013
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
1114
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -76,10 +79,13 @@ public DataSource dataSource(ApiBootDataSourceFactoryBean apiBootDataSourceFacto
7679
dataSourceConfigMap.putAll(apiBootDataSourceSwitchProperties.getHikari());
7780

7881
// convert all datasource config
79-
dataSourceConfigMap.keySet().stream().forEach(druidPoolName -> {
80-
DataSourceConfig dataSourceConfig = dataSourceConfigMap.get(druidPoolName);
82+
dataSourceConfigMap.keySet().stream().forEach(poolName -> {
83+
DataSourceConfig dataSourceConfig = dataSourceConfigMap.get(poolName);
8184
// set data source pool name
82-
dataSourceConfig.setPoolName(druidPoolName);
85+
dataSourceConfig.setPoolName(poolName);
86+
// datasource type
87+
dataSourceConfig.setDataSourceType(dataSourceConfig instanceof DataSourceDruidConfig ? ApiBootDruidDataSource.class : ApiBootHikariDataSource.class);
88+
8389
// after convert add to data source list
8490
dataSourceConfigList.add(dataSourceConfig);
8591
});

0 commit comments

Comments
 (0)