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