From 59972ce8f9128858866c17655fc2d034d023b976 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期五, 07 二月 2025 17:33:15 +0800
Subject: [PATCH] zjh20250207

---
 ltkj-framework/src/main/java/com/ltkj/framework/datasource/DynamicDataSource.java |   21 ++++++++++++++++++++-
 1 files changed, 20 insertions(+), 1 deletions(-)

diff --git a/ltkj-framework/src/main/java/com/ltkj/framework/datasource/DynamicDataSource.java b/ltkj-framework/src/main/java/com/ltkj/framework/datasource/DynamicDataSource.java
index b82b6dc..d3e53c1 100644
--- a/ltkj-framework/src/main/java/com/ltkj/framework/datasource/DynamicDataSource.java
+++ b/ltkj-framework/src/main/java/com/ltkj/framework/datasource/DynamicDataSource.java
@@ -1,6 +1,7 @@
 package com.ltkj.framework.datasource;
 
 import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 import javax.sql.DataSource;
 
 import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
@@ -11,6 +12,7 @@
  * @author ltkj
  */
 public class DynamicDataSource extends AbstractRoutingDataSource {
+    private final Map<Object, Object> targetDataSources = new ConcurrentHashMap<>(); // 瀛樺偍鎵�鏈夋暟鎹簮
     public DynamicDataSource(DataSource defaultTargetDataSource, Map<Object, Object> targetDataSources) {
         super.setDefaultTargetDataSource(defaultTargetDataSource);
         super.setTargetDataSources(targetDataSources);
@@ -19,6 +21,23 @@
 
     @Override
     protected Object determineCurrentLookupKey() {
+        System.out.println("褰撳墠鏁版嵁婧� -> "+ DynamicDataSourceContextHolder.getDataSourceType());
         return DynamicDataSourceContextHolder.getDataSourceType();
     }
-}
\ No newline at end of file
+
+    public void addTargetDataSource(String key, DataSource dataSource) {
+        targetDataSources.put(key, dataSource);
+        super.setTargetDataSources(new ConcurrentHashMap<>(targetDataSources)); // 鏇存柊鐩爣鏁版嵁婧�
+        super.afterPropertiesSet(); // 閲嶆柊鍒濆鍖栨暟鎹簮
+    }
+
+    // 鍏佽澶栭儴璁块棶鎵�鏈夌洰鏍囨暟鎹簮
+    @Override
+    public void setTargetDataSources(Map<Object, Object> targetDataSources) {
+        super.setTargetDataSources(targetDataSources);
+    }
+
+    public Map<Object, Object> getTargetDataSources() {
+        return targetDataSources; // 鑾峰彇鎵�鏈夌洰鏍囨暟鎹簮
+    }
+}

--
Gitblit v1.8.0