From f49e41d370427ce2100b008f773044e11dca5475 Mon Sep 17 00:00:00 2001 From: "chen.ma" Date: Wed, 22 Dec 2021 08:02:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A8=A1=E6=8B=9F=E5=8A=A8=E6=80=81=E7=BA=BF?= =?UTF-8?q?=E7=A8=8B=E6=B1=A0=E6=8F=90=E4=BA=A4=E4=BB=BB=E5=8A=A1,=20?= =?UTF-8?q?=E6=9F=A5=E7=9C=8B=E8=BF=90=E8=A1=8C=E4=BB=A5=E5=8F=8A=E7=9B=91?= =?UTF-8?q?=E6=8E=A7=E6=95=B0=E6=8D=AE.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/inittest/RunStateHandlerTest.java | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/hippo4j-example/src/main/java/cn/hippo4j/example/inittest/RunStateHandlerTest.java b/hippo4j-example/src/main/java/cn/hippo4j/example/inittest/RunStateHandlerTest.java index 6a5ef1ce..c35053b2 100644 --- a/hippo4j-example/src/main/java/cn/hippo4j/example/inittest/RunStateHandlerTest.java +++ b/hippo4j-example/src/main/java/cn/hippo4j/example/inittest/RunStateHandlerTest.java @@ -1,5 +1,6 @@ package cn.hippo4j.example.inittest; +import cn.hippo4j.starter.wrapper.DynamicThreadPoolWrapper; import cn.hutool.core.thread.ThreadUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -7,6 +8,7 @@ import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import javax.annotation.Resource; import java.util.Random; +import java.util.concurrent.ExecutorService; import java.util.concurrent.ThreadPoolExecutor; /** @@ -19,27 +21,38 @@ import java.util.concurrent.ThreadPoolExecutor; @Component public class RunStateHandlerTest { + @Resource + private DynamicThreadPoolWrapper messageCenterDynamicThreadPool; + @Resource private ThreadPoolExecutor dynamicThreadPoolExecutor; @PostConstruct @SuppressWarnings("all") public void runStateHandlerTest() { - log.info("Test thread pool runtime state interface, The rejection policy will be triggered after 30s..."); + log.info("Test thread pool runtime state interface..."); + + // 启动动态线程池模拟运行任务 + runTask(messageCenterDynamicThreadPool.getExecutor()); + + // 启动动态线程池模拟运行任务 + runTask(dynamicThreadPoolExecutor); + + } + private void runTask(ExecutorService executorService) { new Thread(() -> { ThreadUtil.sleep(5000); for (int i = 0; i < Integer.MAX_VALUE; i++) { try { - dynamicThreadPoolExecutor.execute(() -> { - log.info("Thread pool name :: {}, Executing incoming blocking...", Thread.currentThread().getName()); + executorService.execute(() -> { try { int maxRandom = 10; int temp = 2; Random random = new Random(); // Assignment thread pool completedTaskCount if (random.nextInt(maxRandom) % temp == 0) { - Thread.sleep(10241024); + Thread.sleep(1000); } else { Thread.sleep(3000); } @@ -51,7 +64,6 @@ public class RunStateHandlerTest { // ignore } - log.info(" >>> Number of dynamic thread pool tasks executed :: {}", i); ThreadUtil.sleep(500); }