From db273b0ec7d349dc75c0f861f3c523629775faf7 Mon Sep 17 00:00:00 2001 From: MengJinLong <1023149936@qq.com> Date: Wed, 22 Nov 2023 20:04:16 +0800 Subject: [PATCH] fix:Fix the problem that a custom implementation class of ThreadPoolMonitor cannot be introduced through the SPI mechanism in the ReportingEventExecutor class when the project is started. --- .../DynamicThreadPoolMicrometerMonitorHandler.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/threadpool/monitor/micrometer/src/main/java/cn/hippo4j/monitor/micrometer/DynamicThreadPoolMicrometerMonitorHandler.java b/threadpool/monitor/micrometer/src/main/java/cn/hippo4j/monitor/micrometer/DynamicThreadPoolMicrometerMonitorHandler.java index 5bfe747c..2263b324 100644 --- a/threadpool/monitor/micrometer/src/main/java/cn/hippo4j/monitor/micrometer/DynamicThreadPoolMicrometerMonitorHandler.java +++ b/threadpool/monitor/micrometer/src/main/java/cn/hippo4j/monitor/micrometer/DynamicThreadPoolMicrometerMonitorHandler.java @@ -17,12 +17,14 @@ package cn.hippo4j.monitor.micrometer; +import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry; import cn.hippo4j.core.config.ApplicationContextHolder; import cn.hippo4j.common.model.ThreadPoolRunStateInfo; import cn.hippo4j.common.toolkit.BeanUtil; import cn.hippo4j.common.toolkit.CollectionUtil; import cn.hippo4j.core.executor.state.ThreadPoolRunStateHandler; import cn.hippo4j.monitor.base.AbstractDynamicThreadPoolMonitor; +import cn.hippo4j.threadpool.monitor.api.ThreadPoolMonitor; import cn.hippo4j.threadpool.monitor.support.MonitorTypeEnum; import io.micrometer.core.instrument.Metrics; import io.micrometer.core.instrument.Tag; @@ -48,6 +50,10 @@ public class DynamicThreadPoolMicrometerMonitorHandler extends AbstractDynamicTh super(handler); } + static { + ServiceLoaderRegistry.register(ThreadPoolMonitor.class); + } + @Override protected void execute(ThreadPoolRunStateInfo poolRunStateInfo) { ThreadPoolRunStateInfo stateInfo = runStateCache.get(poolRunStateInfo.getTpId());