From f6512dc06fda9c6406db0f12b8a5912337c5b3c7 Mon Sep 17 00:00:00 2001 From: ccchuang Date: Tue, 28 Oct 2025 22:37:27 +0800 Subject: [PATCH] =?UTF-8?q?202.10.28=20=E6=96=B0=E5=A2=9E=E5=A4=9A?= =?UTF-8?q?=E4=B8=AA=E4=BB=8E=E5=BA=93=EF=BC=8C=E9=81=BF=E5=85=8D=E5=90=8E?= =?UTF-8?q?=E6=9C=9F=E4=BF=AE=E6=94=B9=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/framework/config/DruidConfig.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/DruidConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/DruidConfig.java index f671b3a30..8f4200bda 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/DruidConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/DruidConfig.java @@ -49,6 +49,34 @@ public class DruidConfig return druidProperties.dataSource(dataSource); } + // 202.10.28 新增多个从库,避免后期修改代码 + @Bean + @ConfigurationProperties("spring.datasource.druid.slave2") + @ConditionalOnProperty(prefix = "spring.datasource.druid.slave2", name = "enabled", havingValue = "true") + public DataSource slaveDataSource2(DruidProperties druidProperties) + { + DruidDataSource dataSource = DruidDataSourceBuilder.create().build(); + return druidProperties.dataSource(dataSource); + } + @Bean + @ConfigurationProperties("spring.datasource.druid.slave3") + @ConditionalOnProperty(prefix = "spring.datasource.druid.slave3", name = "enabled", havingValue = "true") + public DataSource slaveDataSource3(DruidProperties druidProperties) + { + DruidDataSource dataSource = DruidDataSourceBuilder.create().build(); + return druidProperties.dataSource(dataSource); + } + @Bean + @ConfigurationProperties("spring.datasource.druid.slave4") + @ConditionalOnProperty(prefix = "spring.datasource.druid.slave4", name = "enabled", havingValue = "true") + public DataSource slaveDataSource4(DruidProperties druidProperties) + { + DruidDataSource dataSource = DruidDataSourceBuilder.create().build(); + return druidProperties.dataSource(dataSource); + } + // 202.10.28 新增多个从库,避免后期修改代码(end) + + @Bean(name = "dynamicDataSource") @Primary public DynamicDataSource dataSource(DataSource masterDataSource) @@ -56,6 +84,12 @@ public class DruidConfig Map targetDataSources = new HashMap<>(); targetDataSources.put(DataSourceType.MASTER.name(), masterDataSource); setDataSource(targetDataSources, DataSourceType.SLAVE.name(), "slaveDataSource"); + // 202.10.28 新增多个从库,避免后期修改代码 + setDataSource(targetDataSources, DataSourceType.SLAVE2.name(), "slaveDataSource2"); + setDataSource(targetDataSources, DataSourceType.SLAVE3.name(), "slaveDataSource3"); + setDataSource(targetDataSources, DataSourceType.SLAVE4.name(), "slaveDataSource4"); + // 202.10.28 新增多个从库,避免后期修改代码(end) + return new DynamicDataSource(masterDataSource, targetDataSources); }