From 9ad4ffd7e5e788d8cf0adba797786757579871ae Mon Sep 17 00:00:00 2001 From: Li Date: Tue, 23 Aug 2022 17:53:35 +0800 Subject: [PATCH] Provide ExecutorContext encapsulation context details --- .../cn/hippo4j/common/toolkit/ExecutorContext.java | 13 +++++++++++++ .../core/handler/TaskTraceBuilderHandler.java | 3 ++- 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 hippo4j-common/src/main/java/cn/hippo4j/common/toolkit/ExecutorContext.java diff --git a/hippo4j-common/src/main/java/cn/hippo4j/common/toolkit/ExecutorContext.java b/hippo4j-common/src/main/java/cn/hippo4j/common/toolkit/ExecutorContext.java new file mode 100644 index 00000000..8a165dbe --- /dev/null +++ b/hippo4j-common/src/main/java/cn/hippo4j/common/toolkit/ExecutorContext.java @@ -0,0 +1,13 @@ +package cn.hippo4j.common.toolkit; + +import org.slf4j.MDC; + +import static cn.hippo4j.common.constant.Constants.EXECUTE_TIMEOUT_TRACE; + +public class ExecutorContext { + + public static void putExecuteTimeoutTrace(String executeTimeoutTrace) { + MDC.put(EXECUTE_TIMEOUT_TRACE, executeTimeoutTrace); + } + +} diff --git a/hippo4j-example/hippo4j-example-core/src/main/java/cn/hippo4j/example/core/handler/TaskTraceBuilderHandler.java b/hippo4j-example/hippo4j-example-core/src/main/java/cn/hippo4j/example/core/handler/TaskTraceBuilderHandler.java index 22b3a4aa..041252b9 100644 --- a/hippo4j-example/hippo4j-example-core/src/main/java/cn/hippo4j/example/core/handler/TaskTraceBuilderHandler.java +++ b/hippo4j-example/hippo4j-example-core/src/main/java/cn/hippo4j/example/core/handler/TaskTraceBuilderHandler.java @@ -17,6 +17,7 @@ package cn.hippo4j.example.core.handler; +import cn.hippo4j.common.toolkit.ExecutorContext; import cn.hippo4j.common.toolkit.StringUtil; import org.slf4j.MDC; import org.springframework.core.task.TaskDecorator; @@ -33,7 +34,7 @@ public final class TaskTraceBuilderHandler implements TaskDecorator { String executeTimeoutTrace = MDC.get(EXECUTE_TIMEOUT_TRACE); Runnable taskRun = () -> { if (StringUtil.isNotBlank(executeTimeoutTrace)) { - MDC.put(EXECUTE_TIMEOUT_TRACE, executeTimeoutTrace); + ExecutorContext.putExecuteTimeoutTrace(executeTimeoutTrace); } runnable.run(); // There is no need to clean up here, and it will be cleaned up after the thread task is executed.