From b4563fbd8aa926bf9035d7d9db93511198dbdfa4 Mon Sep 17 00:00:00 2001 From: yanrongzhen Date: Mon, 13 Mar 2023 20:16:52 +0800 Subject: [PATCH] refactor: Update packageNames and classNames, mark ServiceLoader deprecated. --- .../support/BlockingQueueTypeEnum.java | 6 ++-- .../support/RejectedPolicyTypeEnum.java | 8 ++--- .../annotation/SingletonSPI.java | 3 +- .../extension/support/ExtensionInvoker.java | 3 +- .../ServiceLoaderInstantiationException.java | 2 +- .../support/ServiceLoaderRegistry.java} | 12 ++++--- .../extension/ExtensionInvokerTest.java | 7 ++--- .../DynamicThreadPoolServiceLoaderTest.java | 31 ++++++++++--------- .../hippo4j/common/spi/TestInterfaceSPI.java | 4 ++- .../common/spi/TestInterfaceSPIImpl.java | 4 ++- .../common/spi/TestSingletonInterfaceSPI.java | 5 +-- .../spi/TestSingletonInterfaceSPIImpl.java | 4 ++- .../DynamicThreadPoolAdapterChoose.java | 6 ++-- .../cn/hippo4j/core/toolkit/IdentifyUtil.java | 6 ++-- .../monitor/ThreadPoolMonitorExecutor.java | 4 +-- .../ThreadPoolAdapterController.java | 4 +-- .../monitor/ReportingEventExecutor.java | 4 +-- .../provider/InstanceInfoProviderFactory.java | 6 ++-- 18 files changed, 63 insertions(+), 56 deletions(-) rename hippo4j-common/src/main/java/cn/hippo4j/common/{spi => extension}/annotation/SingletonSPI.java (94%) rename hippo4j-common/src/main/java/cn/hippo4j/common/{spi => extension/support}/ServiceLoaderInstantiationException.java (96%) rename hippo4j-common/src/main/java/cn/hippo4j/common/{spi/DynamicThreadPoolServiceLoader.java => extension/support/ServiceLoaderRegistry.java} (91%) diff --git a/hippo4j-common/src/main/java/cn/hippo4j/common/executor/support/BlockingQueueTypeEnum.java b/hippo4j-common/src/main/java/cn/hippo4j/common/executor/support/BlockingQueueTypeEnum.java index 31ab11da..2cdeacb0 100644 --- a/hippo4j-common/src/main/java/cn/hippo4j/common/executor/support/BlockingQueueTypeEnum.java +++ b/hippo4j-common/src/main/java/cn/hippo4j/common/executor/support/BlockingQueueTypeEnum.java @@ -17,7 +17,7 @@ package cn.hippo4j.common.executor.support; -import cn.hippo4j.common.spi.DynamicThreadPoolServiceLoader; +import cn.hippo4j.common.extension.support.ServiceLoaderRegistry; import lombok.Getter; import java.util.Collection; @@ -194,12 +194,12 @@ public enum BlockingQueueTypeEnum { private static final int DEFAULT_CAPACITY = 1024; static { - DynamicThreadPoolServiceLoader.register(CustomBlockingQueue.class); + ServiceLoaderRegistry.register(CustomBlockingQueue.class); } private static BlockingQueue customOrDefaultQueue(Integer capacity, Predicate predicate) { - Collection customBlockingQueues = DynamicThreadPoolServiceLoader + Collection customBlockingQueues = ServiceLoaderRegistry .getSingletonServiceInstances(CustomBlockingQueue.class); return customBlockingQueues.stream() diff --git a/hippo4j-common/src/main/java/cn/hippo4j/common/executor/support/RejectedPolicyTypeEnum.java b/hippo4j-common/src/main/java/cn/hippo4j/common/executor/support/RejectedPolicyTypeEnum.java index eed9b2ae..98272da1 100644 --- a/hippo4j-common/src/main/java/cn/hippo4j/common/executor/support/RejectedPolicyTypeEnum.java +++ b/hippo4j-common/src/main/java/cn/hippo4j/common/executor/support/RejectedPolicyTypeEnum.java @@ -17,7 +17,7 @@ package cn.hippo4j.common.executor.support; -import cn.hippo4j.common.spi.DynamicThreadPoolServiceLoader; +import cn.hippo4j.common.extension.support.ServiceLoaderRegistry; import lombok.Getter; import java.util.Collection; @@ -59,7 +59,7 @@ public enum RejectedPolicyTypeEnum { } static { - DynamicThreadPoolServiceLoader.register(CustomRejectedExecutionHandler.class); + ServiceLoaderRegistry.register(CustomRejectedExecutionHandler.class); } public static RejectedExecutionHandler createPolicy(String name) { @@ -70,7 +70,7 @@ public enum RejectedPolicyTypeEnum { if (rejectedTypeEnum != null) { return rejectedTypeEnum.rejectedHandler; } - Collection customRejectedExecutionHandlers = DynamicThreadPoolServiceLoader + Collection customRejectedExecutionHandlers = ServiceLoaderRegistry .getSingletonServiceInstances(CustomRejectedExecutionHandler.class); Optional customRejected = customRejectedExecutionHandlers.stream() .filter(each -> Objects.equals(name, each.getName())) @@ -85,7 +85,7 @@ public enum RejectedPolicyTypeEnum { .map(each -> each.rejectedHandler) .findFirst(); RejectedExecutionHandler resultRejected = rejectedTypeEnum.orElseGet(() -> { - Collection customRejectedExecutionHandlers = DynamicThreadPoolServiceLoader + Collection customRejectedExecutionHandlers = ServiceLoaderRegistry .getSingletonServiceInstances(CustomRejectedExecutionHandler.class); Optional customRejected = customRejectedExecutionHandlers.stream() .filter(each -> Objects.equals(type, each.getType())) diff --git a/hippo4j-common/src/main/java/cn/hippo4j/common/spi/annotation/SingletonSPI.java b/hippo4j-common/src/main/java/cn/hippo4j/common/extension/annotation/SingletonSPI.java similarity index 94% rename from hippo4j-common/src/main/java/cn/hippo4j/common/spi/annotation/SingletonSPI.java rename to hippo4j-common/src/main/java/cn/hippo4j/common/extension/annotation/SingletonSPI.java index 1b04524c..7f1620ba 100644 --- a/hippo4j-common/src/main/java/cn/hippo4j/common/spi/annotation/SingletonSPI.java +++ b/hippo4j-common/src/main/java/cn/hippo4j/common/extension/annotation/SingletonSPI.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package cn.hippo4j.common.spi.annotation; +package cn.hippo4j.common.extension.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; @@ -27,5 +27,6 @@ import java.lang.annotation.Target; */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) +@Deprecated public @interface SingletonSPI { } diff --git a/hippo4j-common/src/main/java/cn/hippo4j/common/extension/support/ExtensionInvoker.java b/hippo4j-common/src/main/java/cn/hippo4j/common/extension/support/ExtensionInvoker.java index 3e0eb614..fb886f3b 100644 --- a/hippo4j-common/src/main/java/cn/hippo4j/common/extension/support/ExtensionInvoker.java +++ b/hippo4j-common/src/main/java/cn/hippo4j/common/extension/support/ExtensionInvoker.java @@ -20,7 +20,6 @@ package cn.hippo4j.common.extension.support; import cn.hippo4j.common.extension.IExtension; import cn.hippo4j.common.extension.reducer.Reducer; import cn.hippo4j.common.extension.reducer.Reducers; -import cn.hippo4j.common.spi.DynamicThreadPoolServiceLoader; import cn.hippo4j.common.toolkit.Assert; import cn.hippo4j.common.toolkit.CollectionUtil; @@ -50,7 +49,7 @@ public class ExtensionInvoker { List implementations = registry.find(targetClz); if (CollectionUtil.isEmpty(implementations)) { - implementations = new ArrayList<>(DynamicThreadPoolServiceLoader.getSingletonServiceInstances(targetClz)); + implementations = new ArrayList<>(ServiceLoaderRegistry.getSingletonServiceInstances(targetClz)); } Assert.notEmpty(implementations, "can not find any extension realizations with interface: " + targetClz.getName()); diff --git a/hippo4j-common/src/main/java/cn/hippo4j/common/spi/ServiceLoaderInstantiationException.java b/hippo4j-common/src/main/java/cn/hippo4j/common/extension/support/ServiceLoaderInstantiationException.java similarity index 96% rename from hippo4j-common/src/main/java/cn/hippo4j/common/spi/ServiceLoaderInstantiationException.java rename to hippo4j-common/src/main/java/cn/hippo4j/common/extension/support/ServiceLoaderInstantiationException.java index 496d44dd..239817d1 100644 --- a/hippo4j-common/src/main/java/cn/hippo4j/common/spi/ServiceLoaderInstantiationException.java +++ b/hippo4j-common/src/main/java/cn/hippo4j/common/extension/support/ServiceLoaderInstantiationException.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package cn.hippo4j.common.spi; +package cn.hippo4j.common.extension.support; /** * Service loader instantiation exception. diff --git a/hippo4j-common/src/main/java/cn/hippo4j/common/spi/DynamicThreadPoolServiceLoader.java b/hippo4j-common/src/main/java/cn/hippo4j/common/extension/support/ServiceLoaderRegistry.java similarity index 91% rename from hippo4j-common/src/main/java/cn/hippo4j/common/spi/DynamicThreadPoolServiceLoader.java rename to hippo4j-common/src/main/java/cn/hippo4j/common/extension/support/ServiceLoaderRegistry.java index cd96e4a8..493dd489 100644 --- a/hippo4j-common/src/main/java/cn/hippo4j/common/spi/DynamicThreadPoolServiceLoader.java +++ b/hippo4j-common/src/main/java/cn/hippo4j/common/extension/support/ServiceLoaderRegistry.java @@ -15,9 +15,10 @@ * limitations under the License. */ -package cn.hippo4j.common.spi; +package cn.hippo4j.common.extension.support; -import cn.hippo4j.common.spi.annotation.SingletonSPI; +import cn.hippo4j.common.extension.annotation.SingletonSPI; +import cn.hippo4j.common.extension.support.ServiceLoaderInstantiationException; import java.lang.reflect.InvocationTargetException; import java.util.Collection; @@ -29,9 +30,10 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; /** - * Dynamic thread-pool service loader. + * Dynamic thread-pool SPI service loader. */ -public class DynamicThreadPoolServiceLoader { +@Deprecated +public class ServiceLoaderRegistry { /** * safe container。 @@ -40,7 +42,7 @@ public class DynamicThreadPoolServiceLoader { */ private static final Map, Collection> SERVICES = new ConcurrentHashMap<>(); - private DynamicThreadPoolServiceLoader() { + private ServiceLoaderRegistry() { } /** diff --git a/hippo4j-common/src/test/java/cn/hippo4j/common/extension/ExtensionInvokerTest.java b/hippo4j-common/src/test/java/cn/hippo4j/common/extension/ExtensionInvokerTest.java index 16e9f602..343bb745 100644 --- a/hippo4j-common/src/test/java/cn/hippo4j/common/extension/ExtensionInvokerTest.java +++ b/hippo4j-common/src/test/java/cn/hippo4j/common/extension/ExtensionInvokerTest.java @@ -27,13 +27,10 @@ import cn.hippo4j.common.extension.reducer.Reducers; import cn.hippo4j.common.extension.spi.IOldSpi; import cn.hippo4j.common.extension.support.ExtensionInvoker; import cn.hippo4j.common.extension.support.ExtensionRegistry; -import cn.hippo4j.common.spi.DynamicThreadPoolServiceLoader; +import cn.hippo4j.common.extension.support.ServiceLoaderRegistry; import org.assertj.core.util.Lists; import org.junit.Before; import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; import java.util.List; import java.util.Objects; @@ -49,7 +46,7 @@ public class ExtensionInvokerTest { ExtensionRegistry.getInstance().register(new AnyMatchExtImplA()); ExtensionRegistry.getInstance().register(new AnyMatchExtImplB()); - DynamicThreadPoolServiceLoader.register(IOldSpi.class); + ServiceLoaderRegistry.register(IOldSpi.class); } @Test public void test() { diff --git a/hippo4j-common/src/test/java/cn/hippo4j/common/spi/DynamicThreadPoolServiceLoaderTest.java b/hippo4j-common/src/test/java/cn/hippo4j/common/spi/DynamicThreadPoolServiceLoaderTest.java index 0e8e7fba..ddd3f317 100644 --- a/hippo4j-common/src/test/java/cn/hippo4j/common/spi/DynamicThreadPoolServiceLoaderTest.java +++ b/hippo4j-common/src/test/java/cn/hippo4j/common/spi/DynamicThreadPoolServiceLoaderTest.java @@ -19,6 +19,7 @@ package cn.hippo4j.common.spi; import java.util.Collection; +import cn.hippo4j.common.extension.support.ServiceLoaderRegistry; import org.junit.Test; import static org.hamcrest.MatcherAssert.assertThat; @@ -28,46 +29,46 @@ import static org.hamcrest.Matchers.not; import static org.junit.Assert.assertTrue; /** - * test {@link DynamicThreadPoolServiceLoader} + * test {@link ServiceLoaderRegistry} */ public final class DynamicThreadPoolServiceLoaderTest { @Test public void assertRegister() { - DynamicThreadPoolServiceLoader.register(Collection.class); - Collection collections = DynamicThreadPoolServiceLoader.getSingletonServiceInstances(Collection.class); + ServiceLoaderRegistry.register(Collection.class); + Collection collections = ServiceLoaderRegistry.getSingletonServiceInstances(Collection.class); assertTrue(collections.isEmpty()); } @Test public void assertGetSingletonServiceInstances() { - DynamicThreadPoolServiceLoader.register(TestSingletonInterfaceSPI.class); - Collection instances = DynamicThreadPoolServiceLoader.getSingletonServiceInstances(TestSingletonInterfaceSPI.class); + ServiceLoaderRegistry.register(TestSingletonInterfaceSPI.class); + Collection instances = ServiceLoaderRegistry.getSingletonServiceInstances(TestSingletonInterfaceSPI.class); assertThat(instances.size(), equalTo(1)); - assertThat(instances.iterator().next(), is(DynamicThreadPoolServiceLoader.getSingletonServiceInstances(TestSingletonInterfaceSPI.class).iterator().next())); + assertThat(instances.iterator().next(), is(ServiceLoaderRegistry.getSingletonServiceInstances(TestSingletonInterfaceSPI.class).iterator().next())); } @Test public void assertNewServiceInstances() { - DynamicThreadPoolServiceLoader.register(TestSingletonInterfaceSPI.class); - Collection instances = DynamicThreadPoolServiceLoader.newServiceInstances(TestSingletonInterfaceSPI.class); + ServiceLoaderRegistry.register(TestSingletonInterfaceSPI.class); + Collection instances = ServiceLoaderRegistry.newServiceInstances(TestSingletonInterfaceSPI.class); assertThat(instances.size(), equalTo(1)); - assertThat(instances.iterator().next(), not(DynamicThreadPoolServiceLoader.getSingletonServiceInstances(TestSingletonInterfaceSPI.class).iterator().next())); + assertThat(instances.iterator().next(), not(ServiceLoaderRegistry.getSingletonServiceInstances(TestSingletonInterfaceSPI.class).iterator().next())); } @Test public void assertGetServiceInstancesWhenIsSingleton() { - DynamicThreadPoolServiceLoader.register(TestSingletonInterfaceSPI.class); - Collection instances = DynamicThreadPoolServiceLoader.getServiceInstances(TestSingletonInterfaceSPI.class); - assertThat(instances.iterator().next(), is(DynamicThreadPoolServiceLoader.getSingletonServiceInstances(TestSingletonInterfaceSPI.class).iterator().next())); + ServiceLoaderRegistry.register(TestSingletonInterfaceSPI.class); + Collection instances = ServiceLoaderRegistry.getServiceInstances(TestSingletonInterfaceSPI.class); + assertThat(instances.iterator().next(), is(ServiceLoaderRegistry.getSingletonServiceInstances(TestSingletonInterfaceSPI.class).iterator().next())); } @Test public void assertGetServiceInstancesWhenNotSingleton() { - DynamicThreadPoolServiceLoader.register(TestInterfaceSPI.class); - Collection instances = DynamicThreadPoolServiceLoader.getServiceInstances(TestInterfaceSPI.class); - assertThat(instances.iterator().next(), not(DynamicThreadPoolServiceLoader.getSingletonServiceInstances(TestInterfaceSPI.class).iterator().next())); + ServiceLoaderRegistry.register(TestInterfaceSPI.class); + Collection instances = ServiceLoaderRegistry.getServiceInstances(TestInterfaceSPI.class); + assertThat(instances.iterator().next(), not(ServiceLoaderRegistry.getSingletonServiceInstances(TestInterfaceSPI.class).iterator().next())); } } diff --git a/hippo4j-common/src/test/java/cn/hippo4j/common/spi/TestInterfaceSPI.java b/hippo4j-common/src/test/java/cn/hippo4j/common/spi/TestInterfaceSPI.java index 69baeb8a..2851f7e9 100644 --- a/hippo4j-common/src/test/java/cn/hippo4j/common/spi/TestInterfaceSPI.java +++ b/hippo4j-common/src/test/java/cn/hippo4j/common/spi/TestInterfaceSPI.java @@ -17,8 +17,10 @@ package cn.hippo4j.common.spi; +import cn.hippo4j.common.extension.support.ServiceLoaderRegistry; + /** - * test {@link DynamicThreadPoolServiceLoader} + * test {@link ServiceLoaderRegistry} */ public interface TestInterfaceSPI { } diff --git a/hippo4j-common/src/test/java/cn/hippo4j/common/spi/TestInterfaceSPIImpl.java b/hippo4j-common/src/test/java/cn/hippo4j/common/spi/TestInterfaceSPIImpl.java index 833a5919..fc8b2779 100644 --- a/hippo4j-common/src/test/java/cn/hippo4j/common/spi/TestInterfaceSPIImpl.java +++ b/hippo4j-common/src/test/java/cn/hippo4j/common/spi/TestInterfaceSPIImpl.java @@ -17,8 +17,10 @@ package cn.hippo4j.common.spi; +import cn.hippo4j.common.extension.support.ServiceLoaderRegistry; + /** - * test {@link DynamicThreadPoolServiceLoader} + * test {@link ServiceLoaderRegistry} */ public class TestInterfaceSPIImpl implements TestInterfaceSPI { } diff --git a/hippo4j-common/src/test/java/cn/hippo4j/common/spi/TestSingletonInterfaceSPI.java b/hippo4j-common/src/test/java/cn/hippo4j/common/spi/TestSingletonInterfaceSPI.java index 739e08d3..e530d6bb 100644 --- a/hippo4j-common/src/test/java/cn/hippo4j/common/spi/TestSingletonInterfaceSPI.java +++ b/hippo4j-common/src/test/java/cn/hippo4j/common/spi/TestSingletonInterfaceSPI.java @@ -17,10 +17,11 @@ package cn.hippo4j.common.spi; -import cn.hippo4j.common.spi.annotation.SingletonSPI; +import cn.hippo4j.common.extension.annotation.SingletonSPI; +import cn.hippo4j.common.extension.support.ServiceLoaderRegistry; /** - * test {@link DynamicThreadPoolServiceLoader} + * test {@link ServiceLoaderRegistry} */ @SingletonSPI public interface TestSingletonInterfaceSPI { diff --git a/hippo4j-common/src/test/java/cn/hippo4j/common/spi/TestSingletonInterfaceSPIImpl.java b/hippo4j-common/src/test/java/cn/hippo4j/common/spi/TestSingletonInterfaceSPIImpl.java index d5babd2a..6aeb275f 100644 --- a/hippo4j-common/src/test/java/cn/hippo4j/common/spi/TestSingletonInterfaceSPIImpl.java +++ b/hippo4j-common/src/test/java/cn/hippo4j/common/spi/TestSingletonInterfaceSPIImpl.java @@ -17,8 +17,10 @@ package cn.hippo4j.common.spi; +import cn.hippo4j.common.extension.support.ServiceLoaderRegistry; + /** - * test {@link DynamicThreadPoolServiceLoader} + * test {@link ServiceLoaderRegistry} */ public class TestSingletonInterfaceSPIImpl implements TestSingletonInterfaceSPI { } diff --git a/hippo4j-core/src/main/java/cn/hippo4j/core/executor/support/adpter/DynamicThreadPoolAdapterChoose.java b/hippo4j-core/src/main/java/cn/hippo4j/core/executor/support/adpter/DynamicThreadPoolAdapterChoose.java index 39a4ba73..ac416cca 100644 --- a/hippo4j-core/src/main/java/cn/hippo4j/core/executor/support/adpter/DynamicThreadPoolAdapterChoose.java +++ b/hippo4j-core/src/main/java/cn/hippo4j/core/executor/support/adpter/DynamicThreadPoolAdapterChoose.java @@ -17,7 +17,7 @@ package cn.hippo4j.core.executor.support.adpter; -import cn.hippo4j.common.spi.DynamicThreadPoolServiceLoader; +import cn.hippo4j.common.extension.support.ServiceLoaderRegistry; import cn.hippo4j.common.toolkit.CollectionUtil; import cn.hippo4j.core.executor.DynamicThreadPoolExecutor; import cn.hippo4j.core.executor.support.spi.DynamicThreadPoolAdapterSPI; @@ -85,8 +85,8 @@ public class DynamicThreadPoolAdapterChoose { * Load SPI customer adapter. */ private static void loadCustomerAdapter() { - DynamicThreadPoolServiceLoader.register(DynamicThreadPoolAdapterSPI.class); - Collection instances = DynamicThreadPoolServiceLoader.getSingletonServiceInstances(DynamicThreadPoolAdapterSPI.class); + ServiceLoaderRegistry.register(DynamicThreadPoolAdapterSPI.class); + Collection instances = ServiceLoaderRegistry.getSingletonServiceInstances(DynamicThreadPoolAdapterSPI.class); if (CollectionUtil.isEmpty(instances)) { return; } diff --git a/hippo4j-core/src/main/java/cn/hippo4j/core/toolkit/IdentifyUtil.java b/hippo4j-core/src/main/java/cn/hippo4j/core/toolkit/IdentifyUtil.java index 106d5c92..0adb988f 100644 --- a/hippo4j-core/src/main/java/cn/hippo4j/core/toolkit/IdentifyUtil.java +++ b/hippo4j-core/src/main/java/cn/hippo4j/core/toolkit/IdentifyUtil.java @@ -19,7 +19,7 @@ package cn.hippo4j.core.toolkit; import cn.hippo4j.common.api.ClientNetworkService; import cn.hippo4j.common.config.ApplicationContextHolder; -import cn.hippo4j.common.spi.DynamicThreadPoolServiceLoader; +import cn.hippo4j.common.extension.support.ServiceLoaderRegistry; import cn.hippo4j.common.toolkit.CollectionUtil; import cn.hippo4j.common.toolkit.IdUtil; import cn.hippo4j.common.toolkit.Joiner; @@ -39,7 +39,7 @@ import static cn.hippo4j.common.constant.Constants.IDENTIFY_SLICER_SYMBOL; public class IdentifyUtil { static { - DynamicThreadPoolServiceLoader.register(ClientNetworkService.class); + ServiceLoaderRegistry.register(ClientNetworkService.class); } /** @@ -63,7 +63,7 @@ public class IdentifyUtil { if (StringUtil.isNotBlank(IDENTIFY)) { return IDENTIFY; } - String[] customerNetwork = DynamicThreadPoolServiceLoader.getSingletonServiceInstances(ClientNetworkService.class) + String[] customerNetwork = ServiceLoaderRegistry.getSingletonServiceInstances(ClientNetworkService.class) .stream().findFirst().map(each -> each.getNetworkIpPort(environment)).orElse(null); String ip; String port; diff --git a/hippo4j-spring-boot/hippo4j-config-spring-boot-starter/src/main/java/cn/hippo4j/config/springboot/starter/monitor/ThreadPoolMonitorExecutor.java b/hippo4j-spring-boot/hippo4j-config-spring-boot-starter/src/main/java/cn/hippo4j/config/springboot/starter/monitor/ThreadPoolMonitorExecutor.java index 04f2d938..52e05c87 100644 --- a/hippo4j-spring-boot/hippo4j-config-spring-boot-starter/src/main/java/cn/hippo4j/config/springboot/starter/monitor/ThreadPoolMonitorExecutor.java +++ b/hippo4j-spring-boot/hippo4j-config-spring-boot-starter/src/main/java/cn/hippo4j/config/springboot/starter/monitor/ThreadPoolMonitorExecutor.java @@ -27,7 +27,7 @@ import java.util.concurrent.TimeUnit; import cn.hippo4j.common.config.ApplicationContextHolder; import cn.hippo4j.common.design.builder.ThreadFactoryBuilder; -import cn.hippo4j.common.spi.DynamicThreadPoolServiceLoader; +import cn.hippo4j.common.extension.support.ServiceLoaderRegistry; import cn.hippo4j.common.toolkit.StringUtil; import cn.hippo4j.config.springboot.starter.config.BootstrapConfigProperties; import cn.hippo4j.config.springboot.starter.config.MonitorProperties; @@ -74,7 +74,7 @@ public class ThreadPoolMonitorExecutor implements ApplicationRunner, DisposableB List collectTypes = Arrays.asList(monitor.getCollectTypes().split(",")); ApplicationContextHolder.getBeansOfType(ThreadPoolMonitor.class).forEach((beanName, bean) -> threadPoolMonitors.add(bean)); Collection dynamicThreadPoolMonitors = - DynamicThreadPoolServiceLoader.getSingletonServiceInstances(DynamicThreadPoolMonitor.class); + ServiceLoaderRegistry.getSingletonServiceInstances(DynamicThreadPoolMonitor.class); dynamicThreadPoolMonitors.stream().filter(each -> collectTypes.contains(each.getType())).forEach(each -> threadPoolMonitors.add(each)); // Execute dynamic thread pool monitoring component. collectScheduledExecutor.scheduleWithFixedDelay( diff --git a/hippo4j-spring-boot/hippo4j-spring-boot-starter/src/main/java/cn/hippo4j/springboot/starter/controller/ThreadPoolAdapterController.java b/hippo4j-spring-boot/hippo4j-spring-boot-starter/src/main/java/cn/hippo4j/springboot/starter/controller/ThreadPoolAdapterController.java index 6bc1bad8..decbc0fc 100644 --- a/hippo4j-spring-boot/hippo4j-spring-boot-starter/src/main/java/cn/hippo4j/springboot/starter/controller/ThreadPoolAdapterController.java +++ b/hippo4j-spring-boot/hippo4j-spring-boot-starter/src/main/java/cn/hippo4j/springboot/starter/controller/ThreadPoolAdapterController.java @@ -21,7 +21,7 @@ import cn.hippo4j.adapter.base.ThreadPoolAdapter; import cn.hippo4j.adapter.base.ThreadPoolAdapterParameter; import cn.hippo4j.adapter.base.ThreadPoolAdapterState; import cn.hippo4j.common.api.ClientNetworkService; -import cn.hippo4j.common.spi.DynamicThreadPoolServiceLoader; +import cn.hippo4j.common.extension.support.ServiceLoaderRegistry; import cn.hippo4j.common.toolkit.StringUtil; import cn.hippo4j.common.web.base.Result; import cn.hippo4j.common.web.base.Results; @@ -59,7 +59,7 @@ public class ThreadPoolAdapterController { ThreadPoolAdapterState threadPoolState = each.getThreadPoolState(requestParameter.getThreadPoolKey()); String active = environment.getProperty("spring.profiles.active", "UNKNOWN"); threadPoolState.setActive(active.toUpperCase()); - String[] customerNetwork = DynamicThreadPoolServiceLoader.getSingletonServiceInstances(ClientNetworkService.class) + String[] customerNetwork = ServiceLoaderRegistry.getSingletonServiceInstances(ClientNetworkService.class) .stream().findFirst().map(network -> network.getNetworkIpPort(environment)).orElse(null); String clientAddress; if (customerNetwork != null) { diff --git a/hippo4j-spring-boot/hippo4j-spring-boot-starter/src/main/java/cn/hippo4j/springboot/starter/monitor/ReportingEventExecutor.java b/hippo4j-spring-boot/hippo4j-spring-boot-starter/src/main/java/cn/hippo4j/springboot/starter/monitor/ReportingEventExecutor.java index b4edecc0..b908c3e6 100644 --- a/hippo4j-spring-boot/hippo4j-spring-boot-starter/src/main/java/cn/hippo4j/springboot/starter/monitor/ReportingEventExecutor.java +++ b/hippo4j-spring-boot/hippo4j-spring-boot-starter/src/main/java/cn/hippo4j/springboot/starter/monitor/ReportingEventExecutor.java @@ -20,7 +20,7 @@ package cn.hippo4j.springboot.starter.monitor; import cn.hippo4j.common.config.ApplicationContextHolder; import cn.hippo4j.common.design.builder.ThreadFactoryBuilder; import cn.hippo4j.common.monitor.Message; -import cn.hippo4j.common.spi.DynamicThreadPoolServiceLoader; +import cn.hippo4j.common.extension.support.ServiceLoaderRegistry; import cn.hippo4j.common.toolkit.CollectionUtil; import cn.hippo4j.common.toolkit.StringUtil; import cn.hippo4j.common.toolkit.ThreadUtil; @@ -119,7 +119,7 @@ public class ReportingEventExecutor implements Runnable, CommandLineRunner, Disp new Integer(collectType.split(",").length), ThreadFactoryBuilder.builder().daemon(true).prefix("client.scheduled.collect.data").build()); Collection dynamicThreadPoolMonitors = - DynamicThreadPoolServiceLoader.getSingletonServiceInstances(ThreadPoolMonitor.class); + ServiceLoaderRegistry.getSingletonServiceInstances(ThreadPoolMonitor.class); Map threadPoolMonitorMap = ApplicationContextHolder.getBeansOfType(ThreadPoolMonitor.class); boolean customerDynamicThreadPoolMonitorFlag = CollectionUtil.isNotEmpty(dynamicThreadPoolMonitors) || CollectionUtil.isNotEmpty(threadPoolMonitorMap); if (customerDynamicThreadPoolMonitorFlag) { diff --git a/hippo4j-spring-boot/hippo4j-spring-boot-starter/src/main/java/cn/hippo4j/springboot/starter/provider/InstanceInfoProviderFactory.java b/hippo4j-spring-boot/hippo4j-spring-boot-starter/src/main/java/cn/hippo4j/springboot/starter/provider/InstanceInfoProviderFactory.java index 41a20e9e..02b8f047 100644 --- a/hippo4j-spring-boot/hippo4j-spring-boot-starter/src/main/java/cn/hippo4j/springboot/starter/provider/InstanceInfoProviderFactory.java +++ b/hippo4j-spring-boot/hippo4j-spring-boot-starter/src/main/java/cn/hippo4j/springboot/starter/provider/InstanceInfoProviderFactory.java @@ -19,7 +19,7 @@ package cn.hippo4j.springboot.starter.provider; import cn.hippo4j.common.api.ClientNetworkService; import cn.hippo4j.common.model.InstanceInfo; -import cn.hippo4j.common.spi.DynamicThreadPoolServiceLoader; +import cn.hippo4j.common.extension.support.ServiceLoaderRegistry; import cn.hippo4j.common.toolkit.ContentUtil; import cn.hippo4j.core.toolkit.IdentifyUtil; import cn.hippo4j.core.toolkit.inet.InetUtils; @@ -40,7 +40,7 @@ import static cn.hippo4j.core.toolkit.IdentifyUtil.CLIENT_IDENTIFICATION_VALUE; public final class InstanceInfoProviderFactory { static { - DynamicThreadPoolServiceLoader.register(ClientNetworkService.class); + ServiceLoaderRegistry.register(ClientNetworkService.class); } /** @@ -69,7 +69,7 @@ public final class InstanceInfoProviderFactory { .setIpApplicationName(CloudCommonIdUtil.getIpApplicationName(environment, inetUtils)) .setHostName(InetAddress.getLocalHost().getHostAddress()).setAppName(applicationName) .setPort(port).setClientBasePath(contextPath).setGroupKey(ContentUtil.getGroupKey(itemId, namespace)); - String[] customerNetwork = DynamicThreadPoolServiceLoader.getSingletonServiceInstances(ClientNetworkService.class) + String[] customerNetwork = ServiceLoaderRegistry.getSingletonServiceInstances(ClientNetworkService.class) .stream().findFirst().map(each -> each.getNetworkIpPort(environment)).orElse(null); String callBackUrl = new StringBuilder().append(Optional.ofNullable(customerNetwork).map(each -> each[0]).orElse(instanceInfo.getHostName())).append(":") .append(Optional.ofNullable(customerNetwork).map(each -> each[1]).orElse(port)).append(instanceInfo.getClientBasePath())