From ac30c14f75db3b41ff366c0ecc7d321b9a9a1b80 Mon Sep 17 00:00:00 2001 From: "chen.ma" Date: Tue, 7 Dec 2021 21:55:42 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=E5=85=A8=E5=B1=80=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E7=BA=BF=E7=A8=8B=E6=B1=A0=E7=AE=A1=E7=90=86=E5=AE=B9?= =?UTF-8?q?=E5=99=A8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../starter/core/GlobalThreadPoolManage.java | 74 ++++++++++++++++--- 1 file changed, 63 insertions(+), 11 deletions(-) diff --git a/hippo4j-spring-boot-starter/src/main/java/cn/hippo4j/starter/core/GlobalThreadPoolManage.java b/hippo4j-spring-boot-starter/src/main/java/cn/hippo4j/starter/core/GlobalThreadPoolManage.java index f7bbf748..8a538120 100644 --- a/hippo4j-spring-boot-starter/src/main/java/cn/hippo4j/starter/core/GlobalThreadPoolManage.java +++ b/hippo4j-spring-boot-starter/src/main/java/cn/hippo4j/starter/core/GlobalThreadPoolManage.java @@ -16,33 +16,85 @@ import java.util.concurrent.ConcurrentHashMap; */ public class GlobalThreadPoolManage { + /** + * 动态线程池参数容器 + */ private static final Map POOL_PARAMETER = new ConcurrentHashMap(); + /** + * 动态线程池包装容器 + */ private static final Map EXECUTOR_MAP = new ConcurrentHashMap(); - public static DynamicThreadPoolWrapper getExecutorService(String tpId) { - return EXECUTOR_MAP.get(tpId); + /** + * 获取动态线程池包装类. + * + * @param threadPoolId + * @return + */ + public static DynamicThreadPoolWrapper getExecutorService(String threadPoolId) { + return EXECUTOR_MAP.get(threadPoolId); } - public static PoolParameter getPoolParameter(String tpId) { - return POOL_PARAMETER.get(tpId); + /** + * 获取动态线程池参数. + * + * @param threadPoolId + * @return + */ + public static PoolParameter getPoolParameter(String threadPoolId) { + return POOL_PARAMETER.get(threadPoolId); } - public static void register(String tpId, PoolParameter poolParameter, DynamicThreadPoolWrapper executor) { - registerPool(tpId, executor); - registerPoolParameter(tpId, poolParameter); + /** + * 注册动态线程池包装以及参数. + * + * @param threadPoolId + * @param poolParameter + * @param executor + */ + public static void register(String threadPoolId, PoolParameter poolParameter, DynamicThreadPoolWrapper executor) { + registerPool(threadPoolId, executor); + registerPoolParameter(threadPoolId, poolParameter); } - public static void registerPool(String tpId, DynamicThreadPoolWrapper executor) { - EXECUTOR_MAP.put(tpId, executor); + /** + * 注册动态线程池. + * + * @param threadPoolId + * @param executor + */ + public static void registerPool(String threadPoolId, DynamicThreadPoolWrapper executor) { + EXECUTOR_MAP.put(threadPoolId, executor); } - public static void registerPoolParameter(String tpId, PoolParameter poolParameter) { - POOL_PARAMETER.put(tpId, poolParameter); + /** + * 注册动态线程池参数. + * + * @param threadPoolId + * @param poolParameter + */ + public static void registerPoolParameter(String threadPoolId, PoolParameter poolParameter) { + POOL_PARAMETER.put(threadPoolId, poolParameter); } + /** + * 获取呀动态线程池标识集合. + * + * @return + */ public static List listThreadPoolId() { return Lists.newArrayList(POOL_PARAMETER.keySet()); } + /** + * 获取动态线程池数量. + * 数据在项目最初启动的时候可能不准确, 因为是异步进行注册. + * + * @return + */ + public static Integer getThreadPoolNum() { + return listThreadPoolId().size(); + } + }