mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-04 12:18:42 +08:00 
			
		
		
		
	修复多数据源下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.DruidDataSourceBuilder;
 | 
				
			||||||
import com.alibaba.druid.spring.boot.autoconfigure.properties.DruidStatProperties;
 | 
					import com.alibaba.druid.spring.boot.autoconfigure.properties.DruidStatProperties;
 | 
				
			||||||
import com.alibaba.druid.util.Utils;
 | 
					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.aspectj.lang.enums.DataSourceType;
 | 
				
			||||||
import com.ruoyi.framework.config.properties.DruidProperties;
 | 
					import com.ruoyi.framework.config.properties.DruidProperties;
 | 
				
			||||||
import com.ruoyi.framework.datasource.DynamicDataSource;
 | 
					import com.ruoyi.framework.datasource.DynamicDataSource;
 | 
				
			||||||
@@ -50,13 +51,32 @@ public class DruidConfig
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    @Bean(name = "dynamicDataSource")
 | 
					    @Bean(name = "dynamicDataSource")
 | 
				
			||||||
    @Primary
 | 
					    @Primary
 | 
				
			||||||
    public DynamicDataSource dataSource(DataSource masterDataSource, DataSource slaveDataSource)
 | 
					    public DynamicDataSource dataSource(DataSource masterDataSource)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        Map<Object, Object> targetDataSources = new HashMap<>();
 | 
					        Map<Object, Object> targetDataSources = new HashMap<>();
 | 
				
			||||||
        targetDataSources.put(DataSourceType.MASTER.name(), masterDataSource);
 | 
					        targetDataSources.put(DataSourceType.MASTER.name(), masterDataSource);
 | 
				
			||||||
        targetDataSources.put(DataSourceType.SLAVE.name(), slaveDataSource);
 | 
					        setDataSource(targetDataSources, DataSourceType.SLAVE.name(), "slaveDataSource");
 | 
				
			||||||
        return new DynamicDataSource(masterDataSource, targetDataSources);
 | 
					        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