From 6efa4693cb921bf4c582d48d504e02c73f7f336b Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期一, 04 八月 2025 17:35:11 +0800
Subject: [PATCH] zjh202500804
---
ltkj-framework/src/main/java/com/ltkj/framework/config/DruidConfig.java | 110 +++++++-----------------------------------------------
1 files changed, 15 insertions(+), 95 deletions(-)
diff --git a/ltkj-framework/src/main/java/com/ltkj/framework/config/DruidConfig.java b/ltkj-framework/src/main/java/com/ltkj/framework/config/DruidConfig.java
index a7c2639..7065424 100644
--- a/ltkj-framework/src/main/java/com/ltkj/framework/config/DruidConfig.java
+++ b/ltkj-framework/src/main/java/com/ltkj/framework/config/DruidConfig.java
@@ -5,6 +5,7 @@
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
+import javax.annotation.Resource;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
@@ -13,12 +14,14 @@
import javax.servlet.ServletResponse;
import javax.sql.DataSource;
-import com.ltkj.db.HospDynamicDataSource;
import com.ltkj.framework.config.properties.DruidProperties;
import com.ltkj.framework.datasource.DynamicDataSource;
+import com.ltkj.system.service.ISysConfigService;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -47,29 +50,7 @@
private String path;
- private static final String DEFAULT_DATA_SOURCE_KEY = "default"; // 涓诲簱鐨勬爣璇�
- private final Map<String, DataSource> dataSourceCache = new HashMap<>(); // 鏁版嵁婧愮紦瀛�
-
-
- // 浠� application.yml 涓鍙栦富搴撶殑閰嶇疆
-// @Value("${spring.datasource.url}")
- private String primaryUrl;
-
- private String primaryPort;
-
- // @Value("${spring.datasource.username}")
- private String primaryUsername;
-
- // @Value("${spring.datasource.password}")
- private String primaryPassword;
-
- // @Value("${dbUrl}")
- private String dbUrl;
-
- private String dbName;
-
-
-// @Bean
+ @Bean
// @ConfigurationProperties("spring.datasource.druid.master")
public DataSource masterDataSource(DruidProperties druidProperties) {
DruidDataSource dataSource = DruidDataSourceBuilder.create().build();
@@ -150,7 +131,7 @@
return druidProperties.dataSource(dataSource);
}
-// @Bean
+ @Bean
// @ConfigurationProperties("spring.datasource.druid.slavehis")
// @ConditionalOnProperty(prefix = "spring.datasource.druid.slavehis", name = "enabled", havingValue = "true")
public DataSource slaveHisDataSource(DruidProperties druidProperties) {
@@ -193,7 +174,7 @@
return druidProperties.dataSource(dataSource);
}
-// @Bean
+ @Bean
// @ConfigurationProperties("spring.datasource.druid.slavelis")
// @ConditionalOnProperty(prefix = "spring.datasource.druid.slavelis", name = "enabled", havingValue = "true")
public DataSource slaveDataLisSource(DruidProperties druidProperties) {
@@ -235,7 +216,7 @@
return druidProperties.dataSource(dataSource);
}
-// @Bean
+ @Bean
// @ConfigurationProperties("spring.datasource.druid.slavepacs")
// @ConditionalOnProperty(prefix = "spring.datasource.druid.slavepacs", name = "enabled", havingValue = "true")
public DataSource slaveDataPacsSource(DruidProperties druidProperties) {
@@ -278,7 +259,9 @@
return druidProperties.dataSource(dataSource);
}
-// @Bean
+
+
+ @Bean
// @ConfigurationProperties("spring.datasource.druid.slavepacs")
// @ConditionalOnProperty(prefix = "spring.datasource.druid.slavepacs", name = "enabled", havingValue = "true")
public DataSource slaveDataWsSource(DruidProperties druidProperties) {
@@ -363,72 +346,9 @@
return dataSource;
}
-// @Bean(name = "hospDynamicDataSources")
-// public DataSource hospDynamicDataSources() {
-// HospDynamicDataSource dynamicDataSource = new HospDynamicDataSource();
-// FileInputStream fis = null;
-// Properties props = new Properties();
-// try {
-// fis = new FileInputStream(url);
-// props.load(fis);
-// fis.close();
-// dbUrl = props.getProperty("ip");
-// dbName = props.getProperty("name");
-// primaryPassword = props.getProperty("password");
-// primaryPort = props.getProperty("prot");
-// primaryUsername = props.getProperty("username");
-// } catch (IOException e) {
-// throw new RuntimeException("璇诲彇閰嶇疆鏂囦欢澶辫触", e);
-// }
-// String url = "jdbc:mysql://" + dbUrl + ":" + primaryPort + "/" + dbName;
-// // 鍒濆鍖栭粯璁ゆ暟鎹簮涓轰富搴�
-// dynamicDataSource.addTargetDataSource(DEFAULT_DATA_SOURCE_KEY, createDataSource(url, primaryUsername, primaryPassword));
-//
-// dynamicDataSource.setDefaultTargetDataSource(dynamicDataSource.getTargetDataSources().get(DEFAULT_DATA_SOURCE_KEY)); // 璁剧疆榛樿鏁版嵁婧�
-// return dynamicDataSource;
-// }
- // 鏍规嵁鐢ㄦ埛 ID 鍔ㄦ�佽幏鍙栨暟鎹簮
- public void addDataSource(String dbName) {
- FileInputStream fis = null;
- Properties props = new Properties();
- try {
- fis = new FileInputStream(url);
- props.load(fis);
- fis.close();
- dbUrl = props.getProperty("ip");
- primaryPassword = props.getProperty("password");
- primaryPort = props.getProperty("prot");
- primaryUsername = props.getProperty("username");
- } catch (IOException e) {
- throw new RuntimeException("璇诲彇閰嶇疆鏂囦欢澶辫触", e);
- }
-
- // 妫�鏌ョ紦瀛樹腑鏄惁宸茬粡瀛樺湪璇ユ暟鎹簮
- if (!dataSourceCache.containsKey(dbName)) {
- synchronized (this) {
- String url = "jdbc:mysql://" + dbUrl + ":" + primaryPort + "/" + dbName;
- DataSource dataSource = createDataSource(url, primaryUsername, primaryPassword);
- dataSourceCache.put(dbName, dataSource);
-
- DynamicDataSource dynamicDataSource = dataSource(dataSource);
- dynamicDataSource.addTargetDataSource(dbName, dataSource);
- }
- }
- }
-
- // 鍔ㄦ�佸垱寤烘暟鎹簮
- private DataSource createDataSource(String url, String username, String password) {
- DruidDataSource dataSource = new DruidDataSource();
- dataSource.setUrl(url);
- dataSource.setUsername(username);
- dataSource.setPassword(password);
- return dataSource;
- }
-
-
-// @Bean(name = "dynamicDataSource")
-// @Primary
+ @Bean(name = "dynamicDataSource")
+ @Primary
public DynamicDataSource dataSource(DataSource masterDataSource) {
Map<Object, Object> targetDataSources = new HashMap<>();
targetDataSources.put(DataSourceType.MASTER.name(), masterDataSource);
@@ -458,8 +378,8 @@
* 鍘婚櫎鐩戞帶椤甸潰搴曢儴鐨勫箍鍛�
*/
@SuppressWarnings({"rawtypes", "unchecked"})
-// @Bean
-// @ConditionalOnProperty(name = "spring.datasource.druid.statViewServlet.enabled", havingValue = "true")
+ @Bean
+ @ConditionalOnProperty(name = "spring.datasource.druid.statViewServlet.enabled", havingValue = "true")
public FilterRegistrationBean removeDruidFilterRegistrationBean(DruidStatProperties properties) {
// 鑾峰彇web鐩戞帶椤甸潰鐨勫弬鏁�
DruidStatProperties.StatViewServlet config = properties.getStatViewServlet();
--
Gitblit v1.8.0