| | |
| | | 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;
|
| | |
| | |
|
| | | @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)
|
| | | {
|
| | | }
|
| | | }
|
| | |
|
| | | /**
|
| | | * 去除监控页面底部的广告
|