Provide ExecutorContext encapsulation context details

pull/557/head
Li 3 years ago
parent 25ee2a085f
commit 9ad4ffd7e5

@ -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);
}
}

@ -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.

Loading…
Cancel
Save