From 2d992db62afdc059989343700cbe2fe40028a768 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期四, 19 十二月 2019 16:21:49 +0800
Subject: [PATCH] 修复多数据源下enabled=false导致读取不到bean导致异常问题
---
ruoyi/src/main/java/com/ruoyi/framework/config/DruidConfig.java | 24 ++++++++++++++++++++++--
1 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/ruoyi/src/main/java/com/ruoyi/framework/config/DruidConfig.java b/ruoyi/src/main/java/com/ruoyi/framework/config/DruidConfig.java
index 26135c8..f0519d5 100644
--- a/ruoyi/src/main/java/com/ruoyi/framework/config/DruidConfig.java
+++ b/ruoyi/src/main/java/com/ruoyi/framework/config/DruidConfig.java
@@ -19,6 +19,7 @@
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,13 +51,32 @@
@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)
+ {
+ }
+ }
/**
* 鍘婚櫎鐩戞帶椤甸潰搴曢儴鐨勫箍鍛�
--
Gitblit v1.9.3