修复多数据源下enabled=false导致读取不到bean导致异常问题
This commit is contained in:
		| @@ -19,6 +19,7 @@ import com.alibaba.druid.pool.DruidDataSource; | ||||
| import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; | ||||
| import com.alibaba.druid.spring.boot.autoconfigure.properties.DruidStatProperties; | ||||
| import com.alibaba.druid.util.Utils; | ||||
| import com.ruoyi.common.utils.spring.SpringUtils; | ||||
| import com.ruoyi.framework.aspectj.lang.enums.DataSourceType; | ||||
| import com.ruoyi.framework.config.properties.DruidProperties; | ||||
| import com.ruoyi.framework.datasource.DynamicDataSource; | ||||
| @@ -50,14 +51,33 @@ public class DruidConfig | ||||
|  | ||||
|     @Bean(name = "dynamicDataSource") | ||||
|     @Primary | ||||
|     public DynamicDataSource dataSource(DataSource masterDataSource, DataSource slaveDataSource) | ||||
|     public DynamicDataSource dataSource(DataSource masterDataSource) | ||||
|     { | ||||
|         Map<Object, Object> targetDataSources = new HashMap<>(); | ||||
|         targetDataSources.put(DataSourceType.MASTER.name(), masterDataSource); | ||||
|         targetDataSources.put(DataSourceType.SLAVE.name(), slaveDataSource); | ||||
|         setDataSource(targetDataSources, DataSourceType.SLAVE.name(), "slaveDataSource"); | ||||
|         return new DynamicDataSource(masterDataSource, targetDataSources); | ||||
|     } | ||||
|      | ||||
|     /** | ||||
|      * 设置数据源 | ||||
|      *  | ||||
|      * @param targetDataSources 备选数据源集合 | ||||
|      * @param sourceName 数据源名称 | ||||
|      * @param beanName bean名称 | ||||
|      */ | ||||
|     public void setDataSource(Map<Object, Object> targetDataSources, String sourceName, String beanName) | ||||
|     { | ||||
|         try | ||||
|         { | ||||
|             DataSource dataSource = SpringUtils.getBean(beanName); | ||||
|             targetDataSources.put(sourceName, dataSource); | ||||
|         } | ||||
|         catch (Exception e) | ||||
|         { | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 去除监控页面底部的广告 | ||||
|      */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user