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