修复多数据源下enabled=false导致读取不到bean导致异常问题
This commit is contained in:
		
							parent
							
								
									687e67dbea
								
							
						
					
					
						commit
						2d992db62a
					
				@ -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,13 +51,32 @@ 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)
 | 
			
		||||
        {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 去除监控页面底部的广告
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user