From d1df7ad4100f68971345901488223eedca9259bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BE=99=E5=8F=B0?= Date: Wed, 4 Aug 2021 08:26:14 +0800 Subject: [PATCH] =?UTF-8?q?optimize:=20=E4=BF=AE=E6=94=B9=E7=BA=BF?= =?UTF-8?q?=E7=A8=8B=E6=B1=A0=E5=8F=98=E6=9B=B4=E5=90=8E=E7=9A=84=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E6=89=93=E5=8D=B0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- .../core/ThreadPoolDynamicRefresh.java | 36 +++++++++---------- 2 files changed, 17 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 05fb66c5..a5494440 100644 --- a/README.md +++ b/README.md @@ -114,4 +114,4 @@ POST http://localhost:6691/v1/cs/configs
-![](https://images-machen.oss-cn-beijing.aliyuncs.com/image-20210715124650132.png) +![](https://images-machen.oss-cn-beijing.aliyuncs.com/image-20210804082501860.png) diff --git a/dynamic-threadpool-spring-boot-starter/src/main/java/io/dynamic/threadpool/starter/core/ThreadPoolDynamicRefresh.java b/dynamic-threadpool-spring-boot-starter/src/main/java/io/dynamic/threadpool/starter/core/ThreadPoolDynamicRefresh.java index c502285a..d34dd1d0 100644 --- a/dynamic-threadpool-spring-boot-starter/src/main/java/io/dynamic/threadpool/starter/core/ThreadPoolDynamicRefresh.java +++ b/dynamic-threadpool-spring-boot-starter/src/main/java/io/dynamic/threadpool/starter/core/ThreadPoolDynamicRefresh.java @@ -31,30 +31,25 @@ public class ThreadPoolDynamicRefresh { public static void refreshDynamicPool(String threadPoolId, Integer coreSize, Integer maxSize, Integer queueType, Integer capacity, Integer keepAliveTime, Integer rejectedType) { ThreadPoolExecutor executor = GlobalThreadPoolManage.getExecutorService(threadPoolId).getPool(); - printLog("[🔥] Original thread pool. ", - threadPoolId, - executor.getCorePoolSize(), - executor.getMaximumPoolSize(), - queueType, - (executor.getQueue().remainingCapacity() + executor.getQueue().size()), - executor.getKeepAliveTime(TimeUnit.MILLISECONDS), - rejectedType); + + int originalCoreSize = executor.getCorePoolSize(); + int originalMaximumPoolSize = executor.getMaximumPoolSize(); + int originalQueryType = queueType; + int originalCapacity = executor.getQueue().remainingCapacity() + executor.getQueue().size(); + long originalKeepAliveTime = executor.getKeepAliveTime(TimeUnit.MILLISECONDS); + int originalRejectedType = rejectedType; changePoolInfo(executor, coreSize, maxSize, queueType, capacity, keepAliveTime, rejectedType); ThreadPoolExecutor afterExecutor = GlobalThreadPoolManage.getExecutorService(threadPoolId).getPool(); - printLog("[🚀] Changed thread pool. ", - threadPoolId, - afterExecutor.getCorePoolSize(), - afterExecutor.getMaximumPoolSize(), - queueType, - (afterExecutor.getQueue().remainingCapacity() + afterExecutor.getQueue().size()), - afterExecutor.getKeepAliveTime(TimeUnit.MILLISECONDS), - rejectedType); - } - - private static void printLog(String tpId, String prefixMsg, Integer coreSize, Integer maxSize, Integer queueType, Integer capacity, Long keepAliveTime, Integer rejectedType) { - log.info("{} :: {}, coreSize :: {}, maxSize :: {}, queueType :: {}, capacity :: {}, keepAliveTime :: {}, rejectedType:: {}", tpId, prefixMsg, coreSize, maxSize, queueType, capacity, keepAliveTime, rejectedType); + log.info("[🔥 {}] Changed thread pool. coreSize :: [{}], maxSize :: [{}], queueType :: [{}], capacity :: [{}], keepAliveTime :: [{}], rejectedType :: [{}]", + threadPoolId.toUpperCase(), + String.format("%s=>%s", originalCoreSize, afterExecutor.getCorePoolSize()), + String.format("%s=>%s", originalMaximumPoolSize, afterExecutor.getMaximumPoolSize()), + String.format("%s=>%s", originalQueryType, queueType), + String.format("%s=>%s", originalCapacity, (afterExecutor.getQueue().remainingCapacity() + afterExecutor.getQueue().size())), + String.format("%s=>%s", originalKeepAliveTime, afterExecutor.getKeepAliveTime(TimeUnit.MILLISECONDS)), + String.format("%s=>%s", originalRejectedType, rejectedType)); } public static void changePoolInfo(ThreadPoolExecutor executor, Integer coreSize, Integer maxSize, Integer queueType, Integer capacity, Integer keepAliveTime, Integer rejectedType) { @@ -83,4 +78,5 @@ public class ThreadPoolDynamicRefresh { executor.setRejectedExecutionHandler(RejectedTypeEnum.createPolicy(queueType)); } } + }