From 0a2054c67ba0b243f10edfe84b572c9b4157e3b5 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期四, 13 二月 2025 10:35:05 +0800
Subject: [PATCH] 20250213

---
 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