From 9af268f9325602132810d41f5ba7cce1ceb464ed Mon Sep 17 00:00:00 2001 From: zhangdaiscott Date: Thu, 12 Oct 2023 18:50:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=87=E7=BA=A7dynamic-datasource-spring-boo?= =?UTF-8?q?t-starter=E7=89=88=E6=9C=AC=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/DataSourceConfiguration.java | 12 +++++++++--- pom.xml | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/jeecg-boot-starter-shardingsphere/src/main/java/org/jeecg/boot/shardingsphere/config/DataSourceConfiguration.java b/jeecg-boot-starter-shardingsphere/src/main/java/org/jeecg/boot/shardingsphere/config/DataSourceConfiguration.java index 10d2076..2bcb32e 100644 --- a/jeecg-boot-starter-shardingsphere/src/main/java/org/jeecg/boot/shardingsphere/config/DataSourceConfiguration.java +++ b/jeecg-boot-starter-shardingsphere/src/main/java/org/jeecg/boot/shardingsphere/config/DataSourceConfiguration.java @@ -1,9 +1,10 @@ package org.jeecg.boot.shardingsphere.config; import com.baomidou.dynamic.datasource.DynamicRoutingDataSource; +import com.baomidou.dynamic.datasource.creator.DataSourceProperty; +import com.baomidou.dynamic.datasource.creator.DefaultDataSourceCreator; import com.baomidou.dynamic.datasource.provider.AbstractDataSourceProvider; import com.baomidou.dynamic.datasource.provider.DynamicDataSourceProvider; -import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty; import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration; import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties; import org.springframework.boot.SpringBootConfiguration; @@ -37,7 +38,12 @@ public class DataSourceConfiguration { @Lazy @Resource DataSource shardingDataSource; - + + @Lazy + @Resource + DefaultDataSourceCreator dataSourceCreator; + + /** * 将shardingDataSource放到了多数据源(dataSourceMap)中 * 注意有个版本的bug,3.1.1版本 不会进入loadDataSources 方法,这样就一直造成数据源注册失败 @@ -45,7 +51,7 @@ public class DataSourceConfiguration { @Bean public DynamicDataSourceProvider dynamicDataSourceProvider() { Map datasourceMap = dynamicDataSourceProperties.getDatasource(); - return new AbstractDataSourceProvider() { + return new AbstractDataSourceProvider(dataSourceCreator) { @Override public Map loadDataSources() { Map dataSourceMap = createDataSourceMap(datasourceMap); diff --git a/pom.xml b/pom.xml index ed1b574..a29a0d7 100644 --- a/pom.xml +++ b/pom.xml @@ -26,7 +26,7 @@ 3.16.1 2.2.0 - 3.5.2 + 4.1.3 2021.0.3