From b35cb9c705dae9b8fd256c93f9c57dac678f3a6e Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期四, 20 二月 2025 15:10:01 +0800
Subject: [PATCH] zjh20250220

---
 ltkj-admin/src/main/java/com/ltkj/web/config/timer/ThreadPoolConfiguration.java |   40 ++++++++++++++++++++--------------------
 1 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/config/timer/ThreadPoolConfiguration.java b/ltkj-admin/src/main/java/com/ltkj/web/config/timer/ThreadPoolConfiguration.java
index 396b908..fd5561b 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/config/timer/ThreadPoolConfiguration.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/config/timer/ThreadPoolConfiguration.java
@@ -2,6 +2,7 @@
 
 
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
+import com.ltkj.db.DataSourceContextHolder;
 import com.ltkj.framework.aspectj.AsynAspect;
 import com.ltkj.framework.datasource.DynamicDataSourceContextHolder;
 import lombok.extern.slf4j.Slf4j;
@@ -22,38 +23,37 @@
 @Configuration
 @Slf4j
 public class ThreadPoolConfiguration {
-    private static final Logger logger = LoggerFactory.getLogger(AsynAspect.class);
+
+    private static final Logger logger = LoggerFactory.getLogger(ThreadPoolConfiguration.class);
 
     @Bean(name = "async", destroyMethod = "shutdown")
     public ThreadPoolExecutor systemCheckPoolExecutorService() {
-        // 鑾峰彇褰撳墠绾跨▼鐨勬暟鎹簮
-        String dataSource = DynamicDataSourceContextHolder.getDataSourceType();
-        logger.info("寮傛浼犻�掔嚎绋嬪綋鍓嶇嚎绋嬫暟鎹簮: {}", dataSource);
+        // 鑾峰彇褰撳墠绾跨▼鐨� DataSource
+        String currentDataSource = DataSourceContextHolder.getDataSourceKey();
+        logger.info("褰撳墠绾跨▼鏁版嵁婧�: {}", currentDataSource);
 
         return new ThreadPoolExecutor(3, 10, 60, TimeUnit.SECONDS,
                 new LinkedBlockingQueue<>(10000),
                 new ThreadFactoryBuilder().setNameFormat("default-executor-%d").build(),
-                (r, executor) -> logger.error("system pool is full! ")) {
+                (r, executor) -> log.error("system pool is full! ")) {
 
             @Override
-            public void execute(Runnable task) {
-                // 鍖呰浠诲姟锛屽皢鏁版嵁婧愪紶閫掑埌寮傛绾跨▼
-                super.execute(new Runnable() {
-                    @Override
-                    public void run() {
-                        // 鍦ㄥ紓姝ョ嚎绋嬩腑璁剧疆鏁版嵁婧�
-                        String dataSource = DynamicDataSourceContextHolder.getDataSourceType();
-                        try {
-                            DynamicDataSourceContextHolder.setDataSourceType(dataSource);
-                            task.run();
-                        } finally {
-                            // 纭繚鍦ㄤ换鍔℃墽琛屽畬鎴愬悗娓呯悊鏁版嵁婧�
-                            DynamicDataSourceContextHolder.clearDataSourceType();
-                        }
+            public void execute(Runnable command) {
+                // 鍖呰浠诲姟锛岀‘淇濇暟鎹簮琚紶閫掑埌鏂扮嚎绋�
+                super.execute(() -> {
+                    String dataSourceKey = DataSourceContextHolder.getDataSourceKey();
+                    try {
+                        // 浼犻�掓暟鎹簮鍒板瓙绾跨▼
+                        DynamicDataSourceContextHolder.setDataSourceType(dataSourceKey);
+                        command.run(); // 鎵ц浠诲姟
+                    } finally {
+                        // 浠诲姟瀹屾垚鍚庢竻鐞嗘暟鎹簮涓婁笅鏂�
+                        DynamicDataSourceContextHolder.clearDataSourceType();
                     }
                 });
             }
         };
     }
-
 }
+
+

--
Gitblit v1.8.0