From e53f12d80658302db0612a7d798fc8b49723da3a Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Sat, 9 Apr 2022 14:08:03 +0800 Subject: [PATCH] =?UTF-8?q?1.ttl=E7=BA=BF=E7=A8=8B=E6=B1=A0=E5=8C=85?= =?UTF-8?q?=E8=A3=85->TtlRunnable.getRunnable()=E5=8C=85=E8=A3=85=EF=BC=8C?= =?UTF-8?q?=E6=9B=B4=E5=BD=BB=E5=BA=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/commons/tools/config/AsyncConfig.java | 7 ++++++- .../main/java/com/epmet/service/impl/IcNatServiceImpl.java | 2 +- .../epmet/service/impl/IcTripReportRecordServiceImpl.java | 2 +- .../java/com/epmet/service/impl/IcVaccineServiceImpl.java | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/AsyncConfig.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/AsyncConfig.java index 83c4758a63..c95c9f8ade 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/AsyncConfig.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/AsyncConfig.java @@ -1,5 +1,6 @@ package com.epmet.commons.tools.config; +import com.alibaba.ttl.TtlRunnable; import com.alibaba.ttl.threadpool.TtlExecutors; import org.slf4j.MDC; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; @@ -64,8 +65,9 @@ public class AsyncConfig { executor.setKeepAliveSeconds(keepAliveSeconds); // 设置装饰器,使用MDC将runnable进行装饰,实现日志上下文传递到子线程 executor.setTaskDecorator((Runnable r) -> { + // 1.mdc包装,日志追踪 Map copyOfContextMap = MDC.getCopyOfContextMap(); - return () -> { + Runnable rr = () -> { try { if (copyOfContextMap != null && copyOfContextMap.size() > 0) { MDC.setContextMap(copyOfContextMap); @@ -75,6 +77,9 @@ public class AsyncConfig { MDC.clear(); } }; + + // 2.ttl包装,异步线程上下文透传 + return TtlRunnable.get(rr); }); executor.initialize(); return executor; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index 7fcb95e700..5307df5cb1 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -310,7 +310,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp } } - @Async("executorService") + @Async @Override public void execAsyncExcelImport(Path filePath, String importTaskId) { String userId = null; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java index 0f4aa50de9..3766ee7baa 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java @@ -334,7 +334,7 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl