From ae5965869966f84a517d9c0726509814995bcc30 Mon Sep 17 00:00:00 2001 From: zhz <1050063770@qq.com> Date: Sun, 24 Apr 2022 15:17:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B5=8B=E8=AF=95=E7=94=A8?= =?UTF-8?q?=E4=BE=8B=E6=98=BE=E7=A4=BA=E5=88=9B=E5=BB=BA=E7=BA=BF=E7=A8=8B?= =?UTF-8?q?,=20=E6=94=B9=E4=B8=BA=E4=BD=BF=E7=94=A8=E7=BA=BF=E7=A8=8B?= =?UTF-8?q?=E6=B1=A0=E6=9D=A5=E5=88=9B=E5=BB=BA=20(#194)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/inittest/RunStateHandlerTest.java | 20 +++++++++++++++++-- .../core/inittest/TaskDecoratorTest.java | 20 +++++++++++++++++-- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/hippo4j-example/hippo4j-example-core/src/main/java/cn/hippo4j/example/core/inittest/RunStateHandlerTest.java b/hippo4j-example/hippo4j-example-core/src/main/java/cn/hippo4j/example/core/inittest/RunStateHandlerTest.java index 25c81ee9..973696af 100644 --- a/hippo4j-example/hippo4j-example-core/src/main/java/cn/hippo4j/example/core/inittest/RunStateHandlerTest.java +++ b/hippo4j-example/hippo4j-example-core/src/main/java/cn/hippo4j/example/core/inittest/RunStateHandlerTest.java @@ -9,7 +9,9 @@ import javax.annotation.PostConstruct; import javax.annotation.Resource; import java.util.Random; import java.util.concurrent.ExecutorService; +import java.util.concurrent.SynchronousQueue; import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; import static cn.hippo4j.common.constant.Constants.EXECUTE_TIMEOUT_TRACE; @@ -29,6 +31,20 @@ public class RunStateHandlerTest { @Resource private ThreadPoolExecutor messageProduceDynamicThreadPool; + private final ThreadPoolExecutor runStateHandlerTestExecutor = new ThreadPoolExecutor( + 2, + 2, + 0L, + TimeUnit.MILLISECONDS, + new SynchronousQueue<>(), + r -> { + Thread t = new Thread(r); + t.setName("client.example.runStateHandler.test"); + t.setDaemon(true); + return t; + }, + new ThreadPoolExecutor.AbortPolicy()); + @PostConstruct @SuppressWarnings("all") public void runStateHandlerTest() { @@ -43,7 +59,7 @@ public class RunStateHandlerTest { private void runTask(ExecutorService executorService) { // 模拟任务运行 - new Thread(() -> { + runStateHandlerTestExecutor.execute(() -> { /** * 当线程池任务执行超时, 向 MDC 放入 Trace 标识, 报警时打印出来. */ @@ -73,7 +89,7 @@ public class RunStateHandlerTest { ThreadUtil.sleep(500); } - }).start(); + }); } } diff --git a/hippo4j-example/hippo4j-example-core/src/main/java/cn/hippo4j/example/core/inittest/TaskDecoratorTest.java b/hippo4j-example/hippo4j-example-core/src/main/java/cn/hippo4j/example/core/inittest/TaskDecoratorTest.java index b762475e..900a0edc 100644 --- a/hippo4j-example/hippo4j-example-core/src/main/java/cn/hippo4j/example/core/inittest/TaskDecoratorTest.java +++ b/hippo4j-example/hippo4j-example-core/src/main/java/cn/hippo4j/example/core/inittest/TaskDecoratorTest.java @@ -9,7 +9,9 @@ import org.slf4j.MDC; import org.springframework.core.task.TaskDecorator; import org.springframework.stereotype.Component; +import java.util.concurrent.SynchronousQueue; import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; /** * TaskDecorator test. @@ -23,12 +25,26 @@ public class TaskDecoratorTest { public static final String PLACEHOLDER = "site"; + private final ThreadPoolExecutor taskDecoratorTestExecutor = new ThreadPoolExecutor( + 1, + 1, + 0L, + TimeUnit.MILLISECONDS, + new SynchronousQueue<>(), + r -> { + Thread t = new Thread(r); + t.setName("client.example.taskDecorator.test"); + t.setDaemon(true); + return t; + }, + new ThreadPoolExecutor.AbortPolicy()); + /** * 测试动态线程池传递 {@link TaskDecorator} * 如果需要运行此单测, 方法上添加 @PostConstruct */ public void taskDecoratorTest() { - new Thread(() -> { + taskDecoratorTestExecutor.execute(() -> { MDC.put(PLACEHOLDER, "查看官网: https://www.hippox.cn"); ThreadUtil.sleep(5000); DynamicThreadPoolWrapper poolWrapper = GlobalThreadPoolManage.getExecutorService(GlobalTestConstant.MESSAGE_PRODUCE); @@ -40,7 +56,7 @@ public class TaskDecoratorTest { */ log.info("通过 taskDecorator MDC 传递上下文 :: {}", MDC.get(PLACEHOLDER)); }); - }).start(); + }); }