From 9698d8d7d2f6d82e32765087f25922f7809be86a Mon Sep 17 00:00:00 2001
From: BigXin0109 <1064730540@qq.com>
Date: Mon, 15 May 2023 22:00:36 +0800
Subject: [PATCH 1/9] Server mode Docker packaging function migrated to the
root directory (#1273)
* feat: Server mode Docker packaging function migrated to the root directory
* feat: Server mode Docker packaging function migrated to the root directory
* feat: remove comment
* feat: i18n
---
.gitignore | 5 ++
.../threadpool}/Dockerfile | 0
.../threadpool}/docker-startup.sh | 0
docs/docs/user_docs/ops/server-docker.md | 7 +-
.../current/user_docs/ops/server-docker.md | 7 +-
threadpool/server/bootstrap/pom.xml | 73 ++++++++++++++++---
6 files changed, 75 insertions(+), 17 deletions(-)
rename {threadpool/server/bootstrap => docker/threadpool}/Dockerfile (100%)
rename {threadpool/server/bootstrap => docker/threadpool}/docker-startup.sh (100%)
diff --git a/.gitignore b/.gitignore
index 3435ace4..a23b0ea7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -46,3 +46,8 @@ build/
docs/node_modules
docs/build
docs/.docusaurus
+
+
+### Docker ###
+docker/threadpool/conf
+docker/threadpool/target
\ No newline at end of file
diff --git a/threadpool/server/bootstrap/Dockerfile b/docker/threadpool/Dockerfile
similarity index 100%
rename from threadpool/server/bootstrap/Dockerfile
rename to docker/threadpool/Dockerfile
diff --git a/threadpool/server/bootstrap/docker-startup.sh b/docker/threadpool/docker-startup.sh
similarity index 100%
rename from threadpool/server/bootstrap/docker-startup.sh
rename to docker/threadpool/docker-startup.sh
diff --git a/docs/docs/user_docs/ops/server-docker.md b/docs/docs/user_docs/ops/server-docker.md
index 826bb99f..2f81a57e 100644
--- a/docs/docs/user_docs/ops/server-docker.md
+++ b/docs/docs/user_docs/ops/server-docker.md
@@ -34,10 +34,11 @@ hippo4j/hippo4j-server
方式一:
```shell
-# 进入到 hippo4j-server/hippo4j-bootstrap 工程路径下
+# 进入到 threadpool/server/bootstrap 工程路径下
mvn clean package -Dskip.spotless.apply=true
+# 进入到 docker/threadpool 工程路径下
# 默认打包是打包的 tag 是 latest
-docker build -t hippo4j/hippo4j-server ../hippo4j-bootstrap
+docker build -t hippo4j/hippo4j-server ../threadpool
```
方式二:
@@ -45,6 +46,6 @@ docker build -t hippo4j/hippo4j-server ../hippo4j-bootstrap
通过 `maven docker plugin`
```shell
-# 进入到 hippo4j-server 工程路径下
+# 进入到 threadpool/server/bootstrap 工程路径下
mvn clean package -DskipTests -Dskip.spotless.apply=true docker:build
```
diff --git a/docs/i18n/zh/docusaurus-plugin-content-docs/current/user_docs/ops/server-docker.md b/docs/i18n/zh/docusaurus-plugin-content-docs/current/user_docs/ops/server-docker.md
index 826bb99f..2f81a57e 100644
--- a/docs/i18n/zh/docusaurus-plugin-content-docs/current/user_docs/ops/server-docker.md
+++ b/docs/i18n/zh/docusaurus-plugin-content-docs/current/user_docs/ops/server-docker.md
@@ -34,10 +34,11 @@ hippo4j/hippo4j-server
方式一:
```shell
-# 进入到 hippo4j-server/hippo4j-bootstrap 工程路径下
+# 进入到 threadpool/server/bootstrap 工程路径下
mvn clean package -Dskip.spotless.apply=true
+# 进入到 docker/threadpool 工程路径下
# 默认打包是打包的 tag 是 latest
-docker build -t hippo4j/hippo4j-server ../hippo4j-bootstrap
+docker build -t hippo4j/hippo4j-server ../threadpool
```
方式二:
@@ -45,6 +46,6 @@ docker build -t hippo4j/hippo4j-server ../hippo4j-bootstrap
通过 `maven docker plugin`
```shell
-# 进入到 hippo4j-server 工程路径下
+# 进入到 threadpool/server/bootstrap 工程路径下
mvn clean package -DskipTests -Dskip.spotless.apply=true docker:build
```
diff --git a/threadpool/server/bootstrap/pom.xml b/threadpool/server/bootstrap/pom.xml
index d3fb3002..2fd29939 100644
--- a/threadpool/server/bootstrap/pom.xml
+++ b/threadpool/server/bootstrap/pom.xml
@@ -11,6 +11,7 @@
true
+ ${project.parent.parent.parent.basedir}/docker/threadpool
@@ -58,19 +59,69 @@
- com.spotify
+ org.apache.maven.plugins
+ maven-resources-plugin
+
+
+ copy-resources
+ package
+
+ copy-resources
+
+
+ UTF-8
+ ../../../docker/threadpool/conf/
+
+
+ conf
+
+ hippo4j-logback.xml
+ application.properties
+ application-h2.properties
+
+
+
+
+
+
+ copy-build
+ package
+
+ copy-resources
+
+
+ UTF-8
+ ../../../docker/threadpool/target
+
+
+ target
+
+
+
+
+
+
+
+ io.fabric8docker-maven-plugin
- 1.2.2
+ 0.42.1
- hippo4j-server:${project.version}
- ${project.basedir}
-
-
- /
- ${project.build.directory}
- ${project.build.finalName}.jar
-
-
+
+
+ hippo4j/${project.build.finalName}:${project.version}
+ ${project.build.finalName}
+
+ ${contextDir}
+
+
+
+ hippo4j/${project.build.finalName}:latest
+ ${project.build.finalName}
+
+ ${contextDir}
+
+
+
From f7eb468af8b737767f98d35cc948ca6dd5fe6eb7 Mon Sep 17 00:00:00 2001
From: magestack
Date: Mon, 15 May 2023 23:57:32 +0800
Subject: [PATCH 2/9] Refactor package directory, abstract infra and kernel
layers (#1285)
* Refactor package directory, abstract infra and kernel layers
* Update pom.xml
---
agents/threadpool/hippo4j-agent-core/pom.xml | 2 +-
.../thread-pool-plugin/pom.xml | 2 +-
{threadpool => infra}/common/pom.xml | 4 ++--
.../common/api/ClientCloseHookExecute.java | 0
.../common/api/ClientNetworkService.java | 0
.../common/api/IExecutorProperties.java | 0
.../cn/hippo4j/common/api/JsonFacade.java | 0
.../cn/hippo4j/common/api/NotifyRequest.java | 0
.../hippo4j/common/api/ThreadDetailState.java | 0
.../common/api/ThreadPoolCheckAlarm.java | 0
.../common/api/ThreadPoolConfigChange.java | 0
.../common/api/ThreadPoolDynamicRefresh.java | 0
.../config/ApplicationContextHolder.java | 0
.../config/ExecutorNotifyProperties.java | 0
.../common/config/ExecutorProperties.java | 0
.../constant/ChangeThreadPoolConstants.java | 0
.../constant/ConfigModifyTypeConstants.java | 0
.../cn/hippo4j/common/constant/Constants.java | 0
.../common/constant/HttpHeaderConstants.java | 0
.../common/constant/HttpMediaType.java | 0
.../hippo4j/common/constant/HttpMethod.java | 0
.../common/constant/HttpResponseCode.java | 0
.../common/design/builder/Builder.java | 0
.../design/builder/ThreadFactoryBuilder.java | 0
.../observer/AbstractSubjectCenter.java | 0
.../common/design/observer/Observer.java | 0
.../design/observer/ObserverMessage.java | 0
.../java/cn/hippo4j/common/enums/DelEnum.java | 0
.../cn/hippo4j/common/enums/EnableEnum.java | 0
.../cn/hippo4j/common/enums/VerifyEnum.java | 0
.../common/enums/WebContainerEnum.java | 0
.../common/executor/ExecutorFactory.java | 0
.../common/executor/ThreadPoolManager.java | 0
.../support/BlockingQueueTypeEnum.java | 0
.../executor/support/CustomBlockingQueue.java | 0
.../CustomRejectedExecutionHandler.java | 0
.../support/NotSupportedException.java | 0
.../support/RejectedPolicyTypeEnum.java | 0
.../ResizableCapacityLinkedBlockingQueue.java | 0
.../support/RunsOldestTaskPolicy.java | 0
.../executor/support/SyncPutQueuePolicy.java | 0
.../hippo4j/common/extension/IExtension.java | 0
.../common/extension/IExtensionRequest.java | 0
.../extension/annotation/Realization.java | 0
.../extension/annotation/SingletonSPI.java | 0
.../config/ExtensionRegisterBootstrap.java | 0
.../common/extension/reducer/AllMatch.java | 0
.../common/extension/reducer/AnyMatch.java | 0
.../common/extension/reducer/FirstOf.java | 0
.../common/extension/reducer/None.java | 0
.../common/extension/reducer/Reducer.java | 0
.../common/extension/reducer/Reducers.java | 0
.../support/ExtensionAutoConfiguration.java | 0
.../extension/support/ExtensionCallback.java | 0
.../extension/support/ExtensionInvoker.java | 0
.../extension/support/ExtensionRegistry.java | 0
.../extension/support/IExtensionRegistry.java | 0
.../common/extension/support/ReduceType.java | 0
.../ServiceLoaderInstantiationException.java | 0
.../support/ServiceLoaderRegistry.java | 0
.../cn/hippo4j/common/function/Matcher.java | 0
.../common/function/NoArgsConsumer.java | 0
.../common/model/GlobalRemotePoolInfo.java | 0
.../cn/hippo4j/common/model/InstanceInfo.java | 0
.../model/ManyThreadPoolRunStateInfo.java | 0
.../common/model/ThreadDetailStateInfo.java | 0
.../common/model/ThreadPoolBaseInfo.java | 0
.../common/model/ThreadPoolParameter.java | 0
.../common/model/ThreadPoolParameterInfo.java | 0
.../common/model/ThreadPoolRunStateInfo.java | 0
.../cn/hippo4j/common/model/TokenInfo.java | 0
.../common/model/WebIpAndPortInfo.java | 0
.../DynamicThreadPoolRegisterParameter.java | 0
.../DynamicThreadPoolRegisterWrapper.java | 0
...ThreadPoolRegisterCoreNotifyParameter.java | 0
...readPoolRegisterServerNotifyParameter.java | 0
.../common/monitor/AbstractMessage.java | 0
.../cn/hippo4j/common/monitor/Message.java | 0
.../common/monitor/MessageRequest.java | 0
.../common/monitor/MessageTypeEnum.java | 0
.../common/monitor/MessageWrapper.java | 0
.../common/monitor/RuntimeMessage.java | 0
.../cn/hippo4j/common/toolkit/ArrayUtil.java | 0
.../cn/hippo4j/common/toolkit/Assert.java | 0
.../cn/hippo4j/common/toolkit/BeanUtil.java | 0
.../hippo4j/common/toolkit/BooleanUtil.java | 0
.../common/toolkit/ByteConvertUtil.java | 0
.../hippo4j/common/toolkit/CalculateUtil.java | 0
.../cn/hippo4j/common/toolkit/ClassUtil.java | 0
.../common/toolkit/CollectionUtil.java | 0
.../hippo4j/common/toolkit/ConditionUtil.java | 0
.../hippo4j/common/toolkit/ContentUtil.java | 0
.../cn/hippo4j/common/toolkit/DateUtil.java | 0
.../cn/hippo4j/common/toolkit/FileUtil.java | 0
.../cn/hippo4j/common/toolkit/GroupKey.java | 0
.../cn/hippo4j/common/toolkit/IdUtil.java | 0
.../cn/hippo4j/common/toolkit/IoUtil.java | 0
.../cn/hippo4j/common/toolkit/JSONUtil.java | 0
.../common/toolkit/JacksonHandler.java | 0
.../cn/hippo4j/common/toolkit/Joiner.java | 0
.../cn/hippo4j/common/toolkit/MapUtil.java | 0
.../cn/hippo4j/common/toolkit/Md5Util.java | 0
.../cn/hippo4j/common/toolkit/MemoryUtil.java | 0
.../common/toolkit/MessageConvert.java | 0
.../hippo4j/common/toolkit/ReflectUtil.java | 0
.../cn/hippo4j/common/toolkit/Singleton.java | 0
.../cn/hippo4j/common/toolkit/StringUtil.java | 0
.../toolkit/ThreadPoolExecutorUtil.java | 0
.../cn/hippo4j/common/toolkit/ThreadUtil.java | 0
.../hippo4j/common/toolkit/UserContext.java | 0
.../hippo4j/common/toolkit/http/Header.java | 0
.../toolkit/http/HttpClientResponse.java | 0
.../hippo4j/common/toolkit/http/HttpUtil.java | 0
.../toolkit/http/JdkHttpClientResponse.java | 0
.../common/toolkit/logtracing/LogMessage.java | 0
.../cn/hippo4j/common/web/base/Result.java | 0
.../cn/hippo4j/common/web/base/Results.java | 0
.../web/exception/AbstractException.java | 0
.../common/web/exception/ErrorCode.java | 0
.../common/web/exception/ErrorCodeEnum.java | 0
.../web/exception/IllegalException.java | 0
.../web/exception/ServiceException.java | 0
.../main/resources/META-INF/spring.factories | 0
.../java/cn/hippo4j/common/MockitoTests.java | 0
.../common/executor/ExecutorFactoryTest.java | 0
.../executor/ThreadPoolManagerTest.java | 0
.../support/BlockingQueueTypeEnumTest.java | 0
.../extension/ExtensionInvokerTest.java | 0
.../extension/anymatch/AnyMatchExtImplA.java | 0
.../extension/anymatch/AnyMatchExtImplB.java | 0
.../anymatch/IAnyMatchExtension.java | 0
.../extension/firstof/FirstOfExtImplA.java | 0
.../extension/firstof/FirstOfExtImplB.java | 0
.../extension/firstof/IFirstOfExtension.java | 0
.../hippo4j/common/extension/spi/IOldSpi.java | 0
.../common/extension/spi/IOldSpiImplA.java | 0
.../common/function/MatcherFunctionTest.java | 0
.../common/function/NoArgsConsumerTest.java | 0
.../DynamicThreadPoolServiceLoaderTest.java | 0
.../common/spi/MyArrayBlockingQueue.java | 0
.../hippo4j/common/spi/TestInterfaceSPI.java | 0
.../common/spi/TestInterfaceSPIImpl.java | 0
.../common/spi/TestSingletonInterfaceSPI.java | 0
.../spi/TestSingletonInterfaceSPIImpl.java | 0
.../hippo4j/common/toolkit/ArrayUtilTest.java | 0
.../cn/hippo4j/common/toolkit/AssertTest.java | 0
.../hippo4j/common/toolkit/BeanUtilTest.java | 0
.../common/toolkit/BooleanUtilTest.java | 0
.../common/toolkit/ByteConvertUtilTest.java | 0
.../common/toolkit/CalculateUtilTest.java | 0
.../common/toolkit/CollectionUtilTest.java | 0
.../common/toolkit/ConditionUtilTest.java | 0
.../common/toolkit/ContentUtilTest.java | 0
.../hippo4j/common/toolkit/FileUtilTest.java | 0
.../hippo4j/common/toolkit/GroupKeyTest.java | 0
.../cn/hippo4j/common/toolkit/IdUtilTest.java | 0
.../hippo4j/common/toolkit/JSONUtilTest.java | 0
.../hippo4j/common/toolkit/MapUtilTest.java | 0
.../hippo4j/common/toolkit/Md5UtilTest.java | 0
.../common/toolkit/MemoryUtilTest.java | 0
.../common/toolkit/ReflectUtilTest.java | 0
.../hippo4j/common/toolkit/SingletonTest.java | 0
.../common/toolkit/StringUtilTest.java | 0
.../common/toolkit/ThreadUtilTest.java | 0
.../common/toolkit/UserContextTest.java | 0
.../common/toolkit/http/HomeServlet.java | 0
.../common/toolkit/http/HttpUtilsTest.java | 0
.../common/toolkit/http/LoginServlet.java | 0
.../cn/hippo4j/common/web/ResultsTest.java | 0
.../hippo4j/common/web/base/ResultsTest.java | 0
...ommon.executor.support.CustomBlockingQueue | 0
.../cn.hippo4j.common.extension.spi.IOldSpi | 0
.../cn.hippo4j.common.spi.TestInterfaceSPI | 0
...ppo4j.common.spi.TestSingletonInterfaceSPI | 0
.../src/test/resources/test/test_utf8.txt | 0
infra/pom.xml | 19 ++++++++++++++++++
{common => infra/toolkit}/pom.xml | 5 +++--
kernel/alarm/pom.xml | 13 ++++++++++++
kernel/dynamic/pom.xml | 13 ++++++++++++
kernel/message/pom.xml | 13 ++++++++++++
kernel/pom.xml | 20 +++++++++++++++++++
pom.xml | 9 +++++----
starters/threadpool/server/pom.xml | 2 +-
threadpool/adapter/base/pom.xml | 2 +-
threadpool/core/pom.xml | 2 +-
.../AbstractBuildThreadPoolTemplateTest.java | 6 ------
threadpool/pom.xml | 1 -
threadpool/rpc/pom.xml | 2 +-
threadpool/server/auth/pom.xml | 2 +-
threadpool/server/config/pom.xml | 2 +-
threadpool/server/discovery/pom.xml | 2 +-
191 files changed, 97 insertions(+), 24 deletions(-)
rename {threadpool => infra}/common/pom.xml (95%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/api/ClientCloseHookExecute.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/api/ClientNetworkService.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/api/IExecutorProperties.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/api/JsonFacade.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/api/NotifyRequest.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/api/ThreadDetailState.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/api/ThreadPoolCheckAlarm.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/api/ThreadPoolConfigChange.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/api/ThreadPoolDynamicRefresh.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/config/ApplicationContextHolder.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/config/ExecutorNotifyProperties.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/config/ExecutorProperties.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/constant/ChangeThreadPoolConstants.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/constant/ConfigModifyTypeConstants.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/constant/Constants.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/constant/HttpHeaderConstants.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/constant/HttpMediaType.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/constant/HttpMethod.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/constant/HttpResponseCode.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/design/builder/Builder.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/design/builder/ThreadFactoryBuilder.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/design/observer/AbstractSubjectCenter.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/design/observer/Observer.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/design/observer/ObserverMessage.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/enums/DelEnum.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/enums/EnableEnum.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/enums/VerifyEnum.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/enums/WebContainerEnum.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/executor/ExecutorFactory.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/executor/ThreadPoolManager.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/executor/support/BlockingQueueTypeEnum.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/executor/support/CustomBlockingQueue.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/executor/support/CustomRejectedExecutionHandler.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/executor/support/NotSupportedException.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/executor/support/RejectedPolicyTypeEnum.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/executor/support/ResizableCapacityLinkedBlockingQueue.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/executor/support/RunsOldestTaskPolicy.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/executor/support/SyncPutQueuePolicy.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/extension/IExtension.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/extension/IExtensionRequest.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/extension/annotation/Realization.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/extension/annotation/SingletonSPI.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/extension/config/ExtensionRegisterBootstrap.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/extension/reducer/AllMatch.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/extension/reducer/AnyMatch.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/extension/reducer/FirstOf.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/extension/reducer/None.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/extension/reducer/Reducer.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/extension/reducer/Reducers.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionAutoConfiguration.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionCallback.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionInvoker.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionRegistry.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/extension/support/IExtensionRegistry.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/extension/support/ReduceType.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/extension/support/ServiceLoaderInstantiationException.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/extension/support/ServiceLoaderRegistry.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/function/Matcher.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/function/NoArgsConsumer.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/model/GlobalRemotePoolInfo.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/model/InstanceInfo.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/model/ManyThreadPoolRunStateInfo.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/model/ThreadDetailStateInfo.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/model/ThreadPoolBaseInfo.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/model/ThreadPoolParameter.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/model/ThreadPoolParameterInfo.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/model/ThreadPoolRunStateInfo.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/model/TokenInfo.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/model/WebIpAndPortInfo.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/model/register/DynamicThreadPoolRegisterParameter.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/model/register/DynamicThreadPoolRegisterWrapper.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/model/register/notify/DynamicThreadPoolRegisterCoreNotifyParameter.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/model/register/notify/DynamicThreadPoolRegisterServerNotifyParameter.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/monitor/AbstractMessage.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/monitor/Message.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/monitor/MessageRequest.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/monitor/MessageTypeEnum.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/monitor/MessageWrapper.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/monitor/RuntimeMessage.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/ArrayUtil.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/Assert.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/BeanUtil.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/BooleanUtil.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/ByteConvertUtil.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/CalculateUtil.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/ClassUtil.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/CollectionUtil.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/ConditionUtil.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/ContentUtil.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/DateUtil.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/FileUtil.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/GroupKey.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/IdUtil.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/IoUtil.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/JSONUtil.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/JacksonHandler.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/Joiner.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/MapUtil.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/Md5Util.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/MemoryUtil.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/MessageConvert.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/ReflectUtil.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/Singleton.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/StringUtil.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/ThreadPoolExecutorUtil.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/ThreadUtil.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/UserContext.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/http/Header.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/http/HttpClientResponse.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/http/HttpUtil.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/http/JdkHttpClientResponse.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/toolkit/logtracing/LogMessage.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/web/base/Result.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/web/base/Results.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/web/exception/AbstractException.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/web/exception/ErrorCode.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/web/exception/ErrorCodeEnum.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/web/exception/IllegalException.java (100%)
rename {threadpool => infra}/common/src/main/java/cn/hippo4j/common/web/exception/ServiceException.java (100%)
rename {threadpool => infra}/common/src/main/resources/META-INF/spring.factories (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/MockitoTests.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/executor/ExecutorFactoryTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/executor/ThreadPoolManagerTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/executor/support/BlockingQueueTypeEnumTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/extension/ExtensionInvokerTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/extension/anymatch/AnyMatchExtImplA.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/extension/anymatch/AnyMatchExtImplB.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/extension/anymatch/IAnyMatchExtension.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/extension/firstof/FirstOfExtImplA.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/extension/firstof/FirstOfExtImplB.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/extension/firstof/IFirstOfExtension.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/extension/spi/IOldSpi.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/extension/spi/IOldSpiImplA.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/function/MatcherFunctionTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/function/NoArgsConsumerTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/spi/DynamicThreadPoolServiceLoaderTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/spi/MyArrayBlockingQueue.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/spi/TestInterfaceSPI.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/spi/TestInterfaceSPIImpl.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/spi/TestSingletonInterfaceSPI.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/spi/TestSingletonInterfaceSPIImpl.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/toolkit/ArrayUtilTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/toolkit/AssertTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/toolkit/BeanUtilTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/toolkit/BooleanUtilTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/toolkit/ByteConvertUtilTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/toolkit/CalculateUtilTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/toolkit/CollectionUtilTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/toolkit/ConditionUtilTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/toolkit/ContentUtilTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/toolkit/FileUtilTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/toolkit/GroupKeyTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/toolkit/IdUtilTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/toolkit/JSONUtilTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/toolkit/MapUtilTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/toolkit/Md5UtilTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/toolkit/MemoryUtilTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/toolkit/ReflectUtilTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/toolkit/SingletonTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/toolkit/StringUtilTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/toolkit/ThreadUtilTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/toolkit/UserContextTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/toolkit/http/HomeServlet.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/toolkit/http/HttpUtilsTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/toolkit/http/LoginServlet.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/web/ResultsTest.java (100%)
rename {threadpool => infra}/common/src/test/java/cn/hippo4j/common/web/base/ResultsTest.java (100%)
rename {threadpool => infra}/common/src/test/resources/META-INF/services/cn.hippo4j.common.executor.support.CustomBlockingQueue (100%)
rename {threadpool => infra}/common/src/test/resources/META-INF/services/cn.hippo4j.common.extension.spi.IOldSpi (100%)
rename {threadpool => infra}/common/src/test/resources/META-INF/services/cn.hippo4j.common.spi.TestInterfaceSPI (100%)
rename {threadpool => infra}/common/src/test/resources/META-INF/services/cn.hippo4j.common.spi.TestSingletonInterfaceSPI (100%)
rename {threadpool => infra}/common/src/test/resources/test/test_utf8.txt (100%)
create mode 100644 infra/pom.xml
rename {common => infra/toolkit}/pom.xml (77%)
create mode 100644 kernel/alarm/pom.xml
create mode 100644 kernel/dynamic/pom.xml
create mode 100644 kernel/message/pom.xml
create mode 100644 kernel/pom.xml
diff --git a/agents/threadpool/hippo4j-agent-core/pom.xml b/agents/threadpool/hippo4j-agent-core/pom.xml
index add15fd7..b299e9dc 100644
--- a/agents/threadpool/hippo4j-agent-core/pom.xml
+++ b/agents/threadpool/hippo4j-agent-core/pom.xml
@@ -75,7 +75,7 @@
cn.hippo4j
- hippo4j-threadpool-common
+ hippo4j-threadpool-infra-common${project.version}provided
diff --git a/agents/threadpool/hippo4j-agent-plugin/thread-pool-plugin/pom.xml b/agents/threadpool/hippo4j-agent-plugin/thread-pool-plugin/pom.xml
index 4fb78e25..c3fa56bb 100644
--- a/agents/threadpool/hippo4j-agent-plugin/thread-pool-plugin/pom.xml
+++ b/agents/threadpool/hippo4j-agent-plugin/thread-pool-plugin/pom.xml
@@ -20,7 +20,7 @@
cn.hippo4j
- hippo4j-threadpool-common
+ hippo4j-threadpool-infra-common${project.version}
diff --git a/threadpool/common/pom.xml b/infra/common/pom.xml
similarity index 95%
rename from threadpool/common/pom.xml
rename to infra/common/pom.xml
index 5d9d6faf..767eb6ee 100644
--- a/threadpool/common/pom.xml
+++ b/infra/common/pom.xml
@@ -4,10 +4,10 @@
4.0.0cn.hippo4j
- hippo4j-threadpool
+ hippo4j-infra${revision}
- hippo4j-threadpool-common
+ hippo4j-threadpool-infra-common
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/api/ClientCloseHookExecute.java b/infra/common/src/main/java/cn/hippo4j/common/api/ClientCloseHookExecute.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/api/ClientCloseHookExecute.java
rename to infra/common/src/main/java/cn/hippo4j/common/api/ClientCloseHookExecute.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/api/ClientNetworkService.java b/infra/common/src/main/java/cn/hippo4j/common/api/ClientNetworkService.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/api/ClientNetworkService.java
rename to infra/common/src/main/java/cn/hippo4j/common/api/ClientNetworkService.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/api/IExecutorProperties.java b/infra/common/src/main/java/cn/hippo4j/common/api/IExecutorProperties.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/api/IExecutorProperties.java
rename to infra/common/src/main/java/cn/hippo4j/common/api/IExecutorProperties.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/api/JsonFacade.java b/infra/common/src/main/java/cn/hippo4j/common/api/JsonFacade.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/api/JsonFacade.java
rename to infra/common/src/main/java/cn/hippo4j/common/api/JsonFacade.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/api/NotifyRequest.java b/infra/common/src/main/java/cn/hippo4j/common/api/NotifyRequest.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/api/NotifyRequest.java
rename to infra/common/src/main/java/cn/hippo4j/common/api/NotifyRequest.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/api/ThreadDetailState.java b/infra/common/src/main/java/cn/hippo4j/common/api/ThreadDetailState.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/api/ThreadDetailState.java
rename to infra/common/src/main/java/cn/hippo4j/common/api/ThreadDetailState.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/api/ThreadPoolCheckAlarm.java b/infra/common/src/main/java/cn/hippo4j/common/api/ThreadPoolCheckAlarm.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/api/ThreadPoolCheckAlarm.java
rename to infra/common/src/main/java/cn/hippo4j/common/api/ThreadPoolCheckAlarm.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/api/ThreadPoolConfigChange.java b/infra/common/src/main/java/cn/hippo4j/common/api/ThreadPoolConfigChange.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/api/ThreadPoolConfigChange.java
rename to infra/common/src/main/java/cn/hippo4j/common/api/ThreadPoolConfigChange.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/api/ThreadPoolDynamicRefresh.java b/infra/common/src/main/java/cn/hippo4j/common/api/ThreadPoolDynamicRefresh.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/api/ThreadPoolDynamicRefresh.java
rename to infra/common/src/main/java/cn/hippo4j/common/api/ThreadPoolDynamicRefresh.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/config/ApplicationContextHolder.java b/infra/common/src/main/java/cn/hippo4j/common/config/ApplicationContextHolder.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/config/ApplicationContextHolder.java
rename to infra/common/src/main/java/cn/hippo4j/common/config/ApplicationContextHolder.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/config/ExecutorNotifyProperties.java b/infra/common/src/main/java/cn/hippo4j/common/config/ExecutorNotifyProperties.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/config/ExecutorNotifyProperties.java
rename to infra/common/src/main/java/cn/hippo4j/common/config/ExecutorNotifyProperties.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/config/ExecutorProperties.java b/infra/common/src/main/java/cn/hippo4j/common/config/ExecutorProperties.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/config/ExecutorProperties.java
rename to infra/common/src/main/java/cn/hippo4j/common/config/ExecutorProperties.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/constant/ChangeThreadPoolConstants.java b/infra/common/src/main/java/cn/hippo4j/common/constant/ChangeThreadPoolConstants.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/constant/ChangeThreadPoolConstants.java
rename to infra/common/src/main/java/cn/hippo4j/common/constant/ChangeThreadPoolConstants.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/constant/ConfigModifyTypeConstants.java b/infra/common/src/main/java/cn/hippo4j/common/constant/ConfigModifyTypeConstants.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/constant/ConfigModifyTypeConstants.java
rename to infra/common/src/main/java/cn/hippo4j/common/constant/ConfigModifyTypeConstants.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/constant/Constants.java b/infra/common/src/main/java/cn/hippo4j/common/constant/Constants.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/constant/Constants.java
rename to infra/common/src/main/java/cn/hippo4j/common/constant/Constants.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/constant/HttpHeaderConstants.java b/infra/common/src/main/java/cn/hippo4j/common/constant/HttpHeaderConstants.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/constant/HttpHeaderConstants.java
rename to infra/common/src/main/java/cn/hippo4j/common/constant/HttpHeaderConstants.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/constant/HttpMediaType.java b/infra/common/src/main/java/cn/hippo4j/common/constant/HttpMediaType.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/constant/HttpMediaType.java
rename to infra/common/src/main/java/cn/hippo4j/common/constant/HttpMediaType.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/constant/HttpMethod.java b/infra/common/src/main/java/cn/hippo4j/common/constant/HttpMethod.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/constant/HttpMethod.java
rename to infra/common/src/main/java/cn/hippo4j/common/constant/HttpMethod.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/constant/HttpResponseCode.java b/infra/common/src/main/java/cn/hippo4j/common/constant/HttpResponseCode.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/constant/HttpResponseCode.java
rename to infra/common/src/main/java/cn/hippo4j/common/constant/HttpResponseCode.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/design/builder/Builder.java b/infra/common/src/main/java/cn/hippo4j/common/design/builder/Builder.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/design/builder/Builder.java
rename to infra/common/src/main/java/cn/hippo4j/common/design/builder/Builder.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/design/builder/ThreadFactoryBuilder.java b/infra/common/src/main/java/cn/hippo4j/common/design/builder/ThreadFactoryBuilder.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/design/builder/ThreadFactoryBuilder.java
rename to infra/common/src/main/java/cn/hippo4j/common/design/builder/ThreadFactoryBuilder.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/design/observer/AbstractSubjectCenter.java b/infra/common/src/main/java/cn/hippo4j/common/design/observer/AbstractSubjectCenter.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/design/observer/AbstractSubjectCenter.java
rename to infra/common/src/main/java/cn/hippo4j/common/design/observer/AbstractSubjectCenter.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/design/observer/Observer.java b/infra/common/src/main/java/cn/hippo4j/common/design/observer/Observer.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/design/observer/Observer.java
rename to infra/common/src/main/java/cn/hippo4j/common/design/observer/Observer.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/design/observer/ObserverMessage.java b/infra/common/src/main/java/cn/hippo4j/common/design/observer/ObserverMessage.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/design/observer/ObserverMessage.java
rename to infra/common/src/main/java/cn/hippo4j/common/design/observer/ObserverMessage.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/enums/DelEnum.java b/infra/common/src/main/java/cn/hippo4j/common/enums/DelEnum.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/enums/DelEnum.java
rename to infra/common/src/main/java/cn/hippo4j/common/enums/DelEnum.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/enums/EnableEnum.java b/infra/common/src/main/java/cn/hippo4j/common/enums/EnableEnum.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/enums/EnableEnum.java
rename to infra/common/src/main/java/cn/hippo4j/common/enums/EnableEnum.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/enums/VerifyEnum.java b/infra/common/src/main/java/cn/hippo4j/common/enums/VerifyEnum.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/enums/VerifyEnum.java
rename to infra/common/src/main/java/cn/hippo4j/common/enums/VerifyEnum.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/enums/WebContainerEnum.java b/infra/common/src/main/java/cn/hippo4j/common/enums/WebContainerEnum.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/enums/WebContainerEnum.java
rename to infra/common/src/main/java/cn/hippo4j/common/enums/WebContainerEnum.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/executor/ExecutorFactory.java b/infra/common/src/main/java/cn/hippo4j/common/executor/ExecutorFactory.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/executor/ExecutorFactory.java
rename to infra/common/src/main/java/cn/hippo4j/common/executor/ExecutorFactory.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/executor/ThreadPoolManager.java b/infra/common/src/main/java/cn/hippo4j/common/executor/ThreadPoolManager.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/executor/ThreadPoolManager.java
rename to infra/common/src/main/java/cn/hippo4j/common/executor/ThreadPoolManager.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/executor/support/BlockingQueueTypeEnum.java b/infra/common/src/main/java/cn/hippo4j/common/executor/support/BlockingQueueTypeEnum.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/executor/support/BlockingQueueTypeEnum.java
rename to infra/common/src/main/java/cn/hippo4j/common/executor/support/BlockingQueueTypeEnum.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/executor/support/CustomBlockingQueue.java b/infra/common/src/main/java/cn/hippo4j/common/executor/support/CustomBlockingQueue.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/executor/support/CustomBlockingQueue.java
rename to infra/common/src/main/java/cn/hippo4j/common/executor/support/CustomBlockingQueue.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/executor/support/CustomRejectedExecutionHandler.java b/infra/common/src/main/java/cn/hippo4j/common/executor/support/CustomRejectedExecutionHandler.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/executor/support/CustomRejectedExecutionHandler.java
rename to infra/common/src/main/java/cn/hippo4j/common/executor/support/CustomRejectedExecutionHandler.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/executor/support/NotSupportedException.java b/infra/common/src/main/java/cn/hippo4j/common/executor/support/NotSupportedException.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/executor/support/NotSupportedException.java
rename to infra/common/src/main/java/cn/hippo4j/common/executor/support/NotSupportedException.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/executor/support/RejectedPolicyTypeEnum.java b/infra/common/src/main/java/cn/hippo4j/common/executor/support/RejectedPolicyTypeEnum.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/executor/support/RejectedPolicyTypeEnum.java
rename to infra/common/src/main/java/cn/hippo4j/common/executor/support/RejectedPolicyTypeEnum.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/executor/support/ResizableCapacityLinkedBlockingQueue.java b/infra/common/src/main/java/cn/hippo4j/common/executor/support/ResizableCapacityLinkedBlockingQueue.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/executor/support/ResizableCapacityLinkedBlockingQueue.java
rename to infra/common/src/main/java/cn/hippo4j/common/executor/support/ResizableCapacityLinkedBlockingQueue.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/executor/support/RunsOldestTaskPolicy.java b/infra/common/src/main/java/cn/hippo4j/common/executor/support/RunsOldestTaskPolicy.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/executor/support/RunsOldestTaskPolicy.java
rename to infra/common/src/main/java/cn/hippo4j/common/executor/support/RunsOldestTaskPolicy.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/executor/support/SyncPutQueuePolicy.java b/infra/common/src/main/java/cn/hippo4j/common/executor/support/SyncPutQueuePolicy.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/executor/support/SyncPutQueuePolicy.java
rename to infra/common/src/main/java/cn/hippo4j/common/executor/support/SyncPutQueuePolicy.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/extension/IExtension.java b/infra/common/src/main/java/cn/hippo4j/common/extension/IExtension.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/extension/IExtension.java
rename to infra/common/src/main/java/cn/hippo4j/common/extension/IExtension.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/extension/IExtensionRequest.java b/infra/common/src/main/java/cn/hippo4j/common/extension/IExtensionRequest.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/extension/IExtensionRequest.java
rename to infra/common/src/main/java/cn/hippo4j/common/extension/IExtensionRequest.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/extension/annotation/Realization.java b/infra/common/src/main/java/cn/hippo4j/common/extension/annotation/Realization.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/extension/annotation/Realization.java
rename to infra/common/src/main/java/cn/hippo4j/common/extension/annotation/Realization.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/extension/annotation/SingletonSPI.java b/infra/common/src/main/java/cn/hippo4j/common/extension/annotation/SingletonSPI.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/extension/annotation/SingletonSPI.java
rename to infra/common/src/main/java/cn/hippo4j/common/extension/annotation/SingletonSPI.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/extension/config/ExtensionRegisterBootstrap.java b/infra/common/src/main/java/cn/hippo4j/common/extension/config/ExtensionRegisterBootstrap.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/extension/config/ExtensionRegisterBootstrap.java
rename to infra/common/src/main/java/cn/hippo4j/common/extension/config/ExtensionRegisterBootstrap.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/extension/reducer/AllMatch.java b/infra/common/src/main/java/cn/hippo4j/common/extension/reducer/AllMatch.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/extension/reducer/AllMatch.java
rename to infra/common/src/main/java/cn/hippo4j/common/extension/reducer/AllMatch.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/extension/reducer/AnyMatch.java b/infra/common/src/main/java/cn/hippo4j/common/extension/reducer/AnyMatch.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/extension/reducer/AnyMatch.java
rename to infra/common/src/main/java/cn/hippo4j/common/extension/reducer/AnyMatch.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/extension/reducer/FirstOf.java b/infra/common/src/main/java/cn/hippo4j/common/extension/reducer/FirstOf.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/extension/reducer/FirstOf.java
rename to infra/common/src/main/java/cn/hippo4j/common/extension/reducer/FirstOf.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/extension/reducer/None.java b/infra/common/src/main/java/cn/hippo4j/common/extension/reducer/None.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/extension/reducer/None.java
rename to infra/common/src/main/java/cn/hippo4j/common/extension/reducer/None.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/extension/reducer/Reducer.java b/infra/common/src/main/java/cn/hippo4j/common/extension/reducer/Reducer.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/extension/reducer/Reducer.java
rename to infra/common/src/main/java/cn/hippo4j/common/extension/reducer/Reducer.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/extension/reducer/Reducers.java b/infra/common/src/main/java/cn/hippo4j/common/extension/reducer/Reducers.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/extension/reducer/Reducers.java
rename to infra/common/src/main/java/cn/hippo4j/common/extension/reducer/Reducers.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionAutoConfiguration.java b/infra/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionAutoConfiguration.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionAutoConfiguration.java
rename to infra/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionAutoConfiguration.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionCallback.java b/infra/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionCallback.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionCallback.java
rename to infra/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionCallback.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionInvoker.java b/infra/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionInvoker.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionInvoker.java
rename to infra/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionInvoker.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionRegistry.java b/infra/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionRegistry.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionRegistry.java
rename to infra/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionRegistry.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/extension/support/IExtensionRegistry.java b/infra/common/src/main/java/cn/hippo4j/common/extension/support/IExtensionRegistry.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/extension/support/IExtensionRegistry.java
rename to infra/common/src/main/java/cn/hippo4j/common/extension/support/IExtensionRegistry.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/extension/support/ReduceType.java b/infra/common/src/main/java/cn/hippo4j/common/extension/support/ReduceType.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/extension/support/ReduceType.java
rename to infra/common/src/main/java/cn/hippo4j/common/extension/support/ReduceType.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/extension/support/ServiceLoaderInstantiationException.java b/infra/common/src/main/java/cn/hippo4j/common/extension/support/ServiceLoaderInstantiationException.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/extension/support/ServiceLoaderInstantiationException.java
rename to infra/common/src/main/java/cn/hippo4j/common/extension/support/ServiceLoaderInstantiationException.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/extension/support/ServiceLoaderRegistry.java b/infra/common/src/main/java/cn/hippo4j/common/extension/support/ServiceLoaderRegistry.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/extension/support/ServiceLoaderRegistry.java
rename to infra/common/src/main/java/cn/hippo4j/common/extension/support/ServiceLoaderRegistry.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/function/Matcher.java b/infra/common/src/main/java/cn/hippo4j/common/function/Matcher.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/function/Matcher.java
rename to infra/common/src/main/java/cn/hippo4j/common/function/Matcher.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/function/NoArgsConsumer.java b/infra/common/src/main/java/cn/hippo4j/common/function/NoArgsConsumer.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/function/NoArgsConsumer.java
rename to infra/common/src/main/java/cn/hippo4j/common/function/NoArgsConsumer.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/model/GlobalRemotePoolInfo.java b/infra/common/src/main/java/cn/hippo4j/common/model/GlobalRemotePoolInfo.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/model/GlobalRemotePoolInfo.java
rename to infra/common/src/main/java/cn/hippo4j/common/model/GlobalRemotePoolInfo.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/model/InstanceInfo.java b/infra/common/src/main/java/cn/hippo4j/common/model/InstanceInfo.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/model/InstanceInfo.java
rename to infra/common/src/main/java/cn/hippo4j/common/model/InstanceInfo.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/model/ManyThreadPoolRunStateInfo.java b/infra/common/src/main/java/cn/hippo4j/common/model/ManyThreadPoolRunStateInfo.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/model/ManyThreadPoolRunStateInfo.java
rename to infra/common/src/main/java/cn/hippo4j/common/model/ManyThreadPoolRunStateInfo.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/model/ThreadDetailStateInfo.java b/infra/common/src/main/java/cn/hippo4j/common/model/ThreadDetailStateInfo.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/model/ThreadDetailStateInfo.java
rename to infra/common/src/main/java/cn/hippo4j/common/model/ThreadDetailStateInfo.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/model/ThreadPoolBaseInfo.java b/infra/common/src/main/java/cn/hippo4j/common/model/ThreadPoolBaseInfo.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/model/ThreadPoolBaseInfo.java
rename to infra/common/src/main/java/cn/hippo4j/common/model/ThreadPoolBaseInfo.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/model/ThreadPoolParameter.java b/infra/common/src/main/java/cn/hippo4j/common/model/ThreadPoolParameter.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/model/ThreadPoolParameter.java
rename to infra/common/src/main/java/cn/hippo4j/common/model/ThreadPoolParameter.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/model/ThreadPoolParameterInfo.java b/infra/common/src/main/java/cn/hippo4j/common/model/ThreadPoolParameterInfo.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/model/ThreadPoolParameterInfo.java
rename to infra/common/src/main/java/cn/hippo4j/common/model/ThreadPoolParameterInfo.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/model/ThreadPoolRunStateInfo.java b/infra/common/src/main/java/cn/hippo4j/common/model/ThreadPoolRunStateInfo.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/model/ThreadPoolRunStateInfo.java
rename to infra/common/src/main/java/cn/hippo4j/common/model/ThreadPoolRunStateInfo.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/model/TokenInfo.java b/infra/common/src/main/java/cn/hippo4j/common/model/TokenInfo.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/model/TokenInfo.java
rename to infra/common/src/main/java/cn/hippo4j/common/model/TokenInfo.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/model/WebIpAndPortInfo.java b/infra/common/src/main/java/cn/hippo4j/common/model/WebIpAndPortInfo.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/model/WebIpAndPortInfo.java
rename to infra/common/src/main/java/cn/hippo4j/common/model/WebIpAndPortInfo.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/model/register/DynamicThreadPoolRegisterParameter.java b/infra/common/src/main/java/cn/hippo4j/common/model/register/DynamicThreadPoolRegisterParameter.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/model/register/DynamicThreadPoolRegisterParameter.java
rename to infra/common/src/main/java/cn/hippo4j/common/model/register/DynamicThreadPoolRegisterParameter.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/model/register/DynamicThreadPoolRegisterWrapper.java b/infra/common/src/main/java/cn/hippo4j/common/model/register/DynamicThreadPoolRegisterWrapper.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/model/register/DynamicThreadPoolRegisterWrapper.java
rename to infra/common/src/main/java/cn/hippo4j/common/model/register/DynamicThreadPoolRegisterWrapper.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/model/register/notify/DynamicThreadPoolRegisterCoreNotifyParameter.java b/infra/common/src/main/java/cn/hippo4j/common/model/register/notify/DynamicThreadPoolRegisterCoreNotifyParameter.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/model/register/notify/DynamicThreadPoolRegisterCoreNotifyParameter.java
rename to infra/common/src/main/java/cn/hippo4j/common/model/register/notify/DynamicThreadPoolRegisterCoreNotifyParameter.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/model/register/notify/DynamicThreadPoolRegisterServerNotifyParameter.java b/infra/common/src/main/java/cn/hippo4j/common/model/register/notify/DynamicThreadPoolRegisterServerNotifyParameter.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/model/register/notify/DynamicThreadPoolRegisterServerNotifyParameter.java
rename to infra/common/src/main/java/cn/hippo4j/common/model/register/notify/DynamicThreadPoolRegisterServerNotifyParameter.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/monitor/AbstractMessage.java b/infra/common/src/main/java/cn/hippo4j/common/monitor/AbstractMessage.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/monitor/AbstractMessage.java
rename to infra/common/src/main/java/cn/hippo4j/common/monitor/AbstractMessage.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/monitor/Message.java b/infra/common/src/main/java/cn/hippo4j/common/monitor/Message.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/monitor/Message.java
rename to infra/common/src/main/java/cn/hippo4j/common/monitor/Message.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/monitor/MessageRequest.java b/infra/common/src/main/java/cn/hippo4j/common/monitor/MessageRequest.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/monitor/MessageRequest.java
rename to infra/common/src/main/java/cn/hippo4j/common/monitor/MessageRequest.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/monitor/MessageTypeEnum.java b/infra/common/src/main/java/cn/hippo4j/common/monitor/MessageTypeEnum.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/monitor/MessageTypeEnum.java
rename to infra/common/src/main/java/cn/hippo4j/common/monitor/MessageTypeEnum.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/monitor/MessageWrapper.java b/infra/common/src/main/java/cn/hippo4j/common/monitor/MessageWrapper.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/monitor/MessageWrapper.java
rename to infra/common/src/main/java/cn/hippo4j/common/monitor/MessageWrapper.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/monitor/RuntimeMessage.java b/infra/common/src/main/java/cn/hippo4j/common/monitor/RuntimeMessage.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/monitor/RuntimeMessage.java
rename to infra/common/src/main/java/cn/hippo4j/common/monitor/RuntimeMessage.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/ArrayUtil.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/ArrayUtil.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/ArrayUtil.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/ArrayUtil.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/Assert.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/Assert.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/Assert.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/Assert.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/BeanUtil.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/BeanUtil.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/BeanUtil.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/BeanUtil.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/BooleanUtil.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/BooleanUtil.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/BooleanUtil.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/BooleanUtil.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/ByteConvertUtil.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/ByteConvertUtil.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/ByteConvertUtil.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/ByteConvertUtil.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/CalculateUtil.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/CalculateUtil.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/CalculateUtil.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/CalculateUtil.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/ClassUtil.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/ClassUtil.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/ClassUtil.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/ClassUtil.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/CollectionUtil.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/CollectionUtil.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/CollectionUtil.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/CollectionUtil.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/ConditionUtil.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/ConditionUtil.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/ConditionUtil.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/ConditionUtil.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/ContentUtil.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/ContentUtil.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/ContentUtil.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/ContentUtil.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/DateUtil.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/DateUtil.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/DateUtil.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/DateUtil.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/FileUtil.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/FileUtil.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/FileUtil.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/FileUtil.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/GroupKey.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/GroupKey.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/GroupKey.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/GroupKey.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/IdUtil.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/IdUtil.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/IdUtil.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/IdUtil.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/IoUtil.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/IoUtil.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/IoUtil.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/IoUtil.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/JSONUtil.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/JSONUtil.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/JSONUtil.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/JSONUtil.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/JacksonHandler.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/JacksonHandler.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/JacksonHandler.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/JacksonHandler.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/Joiner.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/Joiner.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/Joiner.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/Joiner.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/MapUtil.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/MapUtil.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/MapUtil.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/MapUtil.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/Md5Util.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/Md5Util.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/Md5Util.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/Md5Util.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/MemoryUtil.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/MemoryUtil.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/MemoryUtil.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/MemoryUtil.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/MessageConvert.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/MessageConvert.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/MessageConvert.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/MessageConvert.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/ReflectUtil.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/ReflectUtil.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/ReflectUtil.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/ReflectUtil.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/Singleton.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/Singleton.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/Singleton.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/Singleton.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/StringUtil.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/StringUtil.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/StringUtil.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/StringUtil.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/ThreadPoolExecutorUtil.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/ThreadPoolExecutorUtil.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/ThreadPoolExecutorUtil.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/ThreadPoolExecutorUtil.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/ThreadUtil.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/ThreadUtil.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/ThreadUtil.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/ThreadUtil.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/UserContext.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/UserContext.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/UserContext.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/UserContext.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/http/Header.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/http/Header.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/http/Header.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/http/Header.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/http/HttpClientResponse.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/http/HttpClientResponse.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/http/HttpClientResponse.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/http/HttpClientResponse.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/http/HttpUtil.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/http/HttpUtil.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/http/HttpUtil.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/http/HttpUtil.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/http/JdkHttpClientResponse.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/http/JdkHttpClientResponse.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/http/JdkHttpClientResponse.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/http/JdkHttpClientResponse.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/toolkit/logtracing/LogMessage.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/logtracing/LogMessage.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/toolkit/logtracing/LogMessage.java
rename to infra/common/src/main/java/cn/hippo4j/common/toolkit/logtracing/LogMessage.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/web/base/Result.java b/infra/common/src/main/java/cn/hippo4j/common/web/base/Result.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/web/base/Result.java
rename to infra/common/src/main/java/cn/hippo4j/common/web/base/Result.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/web/base/Results.java b/infra/common/src/main/java/cn/hippo4j/common/web/base/Results.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/web/base/Results.java
rename to infra/common/src/main/java/cn/hippo4j/common/web/base/Results.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/web/exception/AbstractException.java b/infra/common/src/main/java/cn/hippo4j/common/web/exception/AbstractException.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/web/exception/AbstractException.java
rename to infra/common/src/main/java/cn/hippo4j/common/web/exception/AbstractException.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/web/exception/ErrorCode.java b/infra/common/src/main/java/cn/hippo4j/common/web/exception/ErrorCode.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/web/exception/ErrorCode.java
rename to infra/common/src/main/java/cn/hippo4j/common/web/exception/ErrorCode.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/web/exception/ErrorCodeEnum.java b/infra/common/src/main/java/cn/hippo4j/common/web/exception/ErrorCodeEnum.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/web/exception/ErrorCodeEnum.java
rename to infra/common/src/main/java/cn/hippo4j/common/web/exception/ErrorCodeEnum.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/web/exception/IllegalException.java b/infra/common/src/main/java/cn/hippo4j/common/web/exception/IllegalException.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/web/exception/IllegalException.java
rename to infra/common/src/main/java/cn/hippo4j/common/web/exception/IllegalException.java
diff --git a/threadpool/common/src/main/java/cn/hippo4j/common/web/exception/ServiceException.java b/infra/common/src/main/java/cn/hippo4j/common/web/exception/ServiceException.java
similarity index 100%
rename from threadpool/common/src/main/java/cn/hippo4j/common/web/exception/ServiceException.java
rename to infra/common/src/main/java/cn/hippo4j/common/web/exception/ServiceException.java
diff --git a/threadpool/common/src/main/resources/META-INF/spring.factories b/infra/common/src/main/resources/META-INF/spring.factories
similarity index 100%
rename from threadpool/common/src/main/resources/META-INF/spring.factories
rename to infra/common/src/main/resources/META-INF/spring.factories
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/MockitoTests.java b/infra/common/src/test/java/cn/hippo4j/common/MockitoTests.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/MockitoTests.java
rename to infra/common/src/test/java/cn/hippo4j/common/MockitoTests.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/executor/ExecutorFactoryTest.java b/infra/common/src/test/java/cn/hippo4j/common/executor/ExecutorFactoryTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/executor/ExecutorFactoryTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/executor/ExecutorFactoryTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/executor/ThreadPoolManagerTest.java b/infra/common/src/test/java/cn/hippo4j/common/executor/ThreadPoolManagerTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/executor/ThreadPoolManagerTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/executor/ThreadPoolManagerTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/executor/support/BlockingQueueTypeEnumTest.java b/infra/common/src/test/java/cn/hippo4j/common/executor/support/BlockingQueueTypeEnumTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/executor/support/BlockingQueueTypeEnumTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/executor/support/BlockingQueueTypeEnumTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/extension/ExtensionInvokerTest.java b/infra/common/src/test/java/cn/hippo4j/common/extension/ExtensionInvokerTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/extension/ExtensionInvokerTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/extension/ExtensionInvokerTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/extension/anymatch/AnyMatchExtImplA.java b/infra/common/src/test/java/cn/hippo4j/common/extension/anymatch/AnyMatchExtImplA.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/extension/anymatch/AnyMatchExtImplA.java
rename to infra/common/src/test/java/cn/hippo4j/common/extension/anymatch/AnyMatchExtImplA.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/extension/anymatch/AnyMatchExtImplB.java b/infra/common/src/test/java/cn/hippo4j/common/extension/anymatch/AnyMatchExtImplB.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/extension/anymatch/AnyMatchExtImplB.java
rename to infra/common/src/test/java/cn/hippo4j/common/extension/anymatch/AnyMatchExtImplB.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/extension/anymatch/IAnyMatchExtension.java b/infra/common/src/test/java/cn/hippo4j/common/extension/anymatch/IAnyMatchExtension.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/extension/anymatch/IAnyMatchExtension.java
rename to infra/common/src/test/java/cn/hippo4j/common/extension/anymatch/IAnyMatchExtension.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/extension/firstof/FirstOfExtImplA.java b/infra/common/src/test/java/cn/hippo4j/common/extension/firstof/FirstOfExtImplA.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/extension/firstof/FirstOfExtImplA.java
rename to infra/common/src/test/java/cn/hippo4j/common/extension/firstof/FirstOfExtImplA.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/extension/firstof/FirstOfExtImplB.java b/infra/common/src/test/java/cn/hippo4j/common/extension/firstof/FirstOfExtImplB.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/extension/firstof/FirstOfExtImplB.java
rename to infra/common/src/test/java/cn/hippo4j/common/extension/firstof/FirstOfExtImplB.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/extension/firstof/IFirstOfExtension.java b/infra/common/src/test/java/cn/hippo4j/common/extension/firstof/IFirstOfExtension.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/extension/firstof/IFirstOfExtension.java
rename to infra/common/src/test/java/cn/hippo4j/common/extension/firstof/IFirstOfExtension.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/extension/spi/IOldSpi.java b/infra/common/src/test/java/cn/hippo4j/common/extension/spi/IOldSpi.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/extension/spi/IOldSpi.java
rename to infra/common/src/test/java/cn/hippo4j/common/extension/spi/IOldSpi.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/extension/spi/IOldSpiImplA.java b/infra/common/src/test/java/cn/hippo4j/common/extension/spi/IOldSpiImplA.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/extension/spi/IOldSpiImplA.java
rename to infra/common/src/test/java/cn/hippo4j/common/extension/spi/IOldSpiImplA.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/function/MatcherFunctionTest.java b/infra/common/src/test/java/cn/hippo4j/common/function/MatcherFunctionTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/function/MatcherFunctionTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/function/MatcherFunctionTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/function/NoArgsConsumerTest.java b/infra/common/src/test/java/cn/hippo4j/common/function/NoArgsConsumerTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/function/NoArgsConsumerTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/function/NoArgsConsumerTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/spi/DynamicThreadPoolServiceLoaderTest.java b/infra/common/src/test/java/cn/hippo4j/common/spi/DynamicThreadPoolServiceLoaderTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/spi/DynamicThreadPoolServiceLoaderTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/spi/DynamicThreadPoolServiceLoaderTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/spi/MyArrayBlockingQueue.java b/infra/common/src/test/java/cn/hippo4j/common/spi/MyArrayBlockingQueue.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/spi/MyArrayBlockingQueue.java
rename to infra/common/src/test/java/cn/hippo4j/common/spi/MyArrayBlockingQueue.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/spi/TestInterfaceSPI.java b/infra/common/src/test/java/cn/hippo4j/common/spi/TestInterfaceSPI.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/spi/TestInterfaceSPI.java
rename to infra/common/src/test/java/cn/hippo4j/common/spi/TestInterfaceSPI.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/spi/TestInterfaceSPIImpl.java b/infra/common/src/test/java/cn/hippo4j/common/spi/TestInterfaceSPIImpl.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/spi/TestInterfaceSPIImpl.java
rename to infra/common/src/test/java/cn/hippo4j/common/spi/TestInterfaceSPIImpl.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/spi/TestSingletonInterfaceSPI.java b/infra/common/src/test/java/cn/hippo4j/common/spi/TestSingletonInterfaceSPI.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/spi/TestSingletonInterfaceSPI.java
rename to infra/common/src/test/java/cn/hippo4j/common/spi/TestSingletonInterfaceSPI.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/spi/TestSingletonInterfaceSPIImpl.java b/infra/common/src/test/java/cn/hippo4j/common/spi/TestSingletonInterfaceSPIImpl.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/spi/TestSingletonInterfaceSPIImpl.java
rename to infra/common/src/test/java/cn/hippo4j/common/spi/TestSingletonInterfaceSPIImpl.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/toolkit/ArrayUtilTest.java b/infra/common/src/test/java/cn/hippo4j/common/toolkit/ArrayUtilTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/toolkit/ArrayUtilTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/toolkit/ArrayUtilTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/toolkit/AssertTest.java b/infra/common/src/test/java/cn/hippo4j/common/toolkit/AssertTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/toolkit/AssertTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/toolkit/AssertTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/toolkit/BeanUtilTest.java b/infra/common/src/test/java/cn/hippo4j/common/toolkit/BeanUtilTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/toolkit/BeanUtilTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/toolkit/BeanUtilTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/toolkit/BooleanUtilTest.java b/infra/common/src/test/java/cn/hippo4j/common/toolkit/BooleanUtilTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/toolkit/BooleanUtilTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/toolkit/BooleanUtilTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/toolkit/ByteConvertUtilTest.java b/infra/common/src/test/java/cn/hippo4j/common/toolkit/ByteConvertUtilTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/toolkit/ByteConvertUtilTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/toolkit/ByteConvertUtilTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/toolkit/CalculateUtilTest.java b/infra/common/src/test/java/cn/hippo4j/common/toolkit/CalculateUtilTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/toolkit/CalculateUtilTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/toolkit/CalculateUtilTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/toolkit/CollectionUtilTest.java b/infra/common/src/test/java/cn/hippo4j/common/toolkit/CollectionUtilTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/toolkit/CollectionUtilTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/toolkit/CollectionUtilTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/toolkit/ConditionUtilTest.java b/infra/common/src/test/java/cn/hippo4j/common/toolkit/ConditionUtilTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/toolkit/ConditionUtilTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/toolkit/ConditionUtilTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/toolkit/ContentUtilTest.java b/infra/common/src/test/java/cn/hippo4j/common/toolkit/ContentUtilTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/toolkit/ContentUtilTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/toolkit/ContentUtilTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/toolkit/FileUtilTest.java b/infra/common/src/test/java/cn/hippo4j/common/toolkit/FileUtilTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/toolkit/FileUtilTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/toolkit/FileUtilTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/toolkit/GroupKeyTest.java b/infra/common/src/test/java/cn/hippo4j/common/toolkit/GroupKeyTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/toolkit/GroupKeyTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/toolkit/GroupKeyTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/toolkit/IdUtilTest.java b/infra/common/src/test/java/cn/hippo4j/common/toolkit/IdUtilTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/toolkit/IdUtilTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/toolkit/IdUtilTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/toolkit/JSONUtilTest.java b/infra/common/src/test/java/cn/hippo4j/common/toolkit/JSONUtilTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/toolkit/JSONUtilTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/toolkit/JSONUtilTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/toolkit/MapUtilTest.java b/infra/common/src/test/java/cn/hippo4j/common/toolkit/MapUtilTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/toolkit/MapUtilTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/toolkit/MapUtilTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/toolkit/Md5UtilTest.java b/infra/common/src/test/java/cn/hippo4j/common/toolkit/Md5UtilTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/toolkit/Md5UtilTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/toolkit/Md5UtilTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/toolkit/MemoryUtilTest.java b/infra/common/src/test/java/cn/hippo4j/common/toolkit/MemoryUtilTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/toolkit/MemoryUtilTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/toolkit/MemoryUtilTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/toolkit/ReflectUtilTest.java b/infra/common/src/test/java/cn/hippo4j/common/toolkit/ReflectUtilTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/toolkit/ReflectUtilTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/toolkit/ReflectUtilTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/toolkit/SingletonTest.java b/infra/common/src/test/java/cn/hippo4j/common/toolkit/SingletonTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/toolkit/SingletonTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/toolkit/SingletonTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/toolkit/StringUtilTest.java b/infra/common/src/test/java/cn/hippo4j/common/toolkit/StringUtilTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/toolkit/StringUtilTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/toolkit/StringUtilTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/toolkit/ThreadUtilTest.java b/infra/common/src/test/java/cn/hippo4j/common/toolkit/ThreadUtilTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/toolkit/ThreadUtilTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/toolkit/ThreadUtilTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/toolkit/UserContextTest.java b/infra/common/src/test/java/cn/hippo4j/common/toolkit/UserContextTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/toolkit/UserContextTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/toolkit/UserContextTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/toolkit/http/HomeServlet.java b/infra/common/src/test/java/cn/hippo4j/common/toolkit/http/HomeServlet.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/toolkit/http/HomeServlet.java
rename to infra/common/src/test/java/cn/hippo4j/common/toolkit/http/HomeServlet.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/toolkit/http/HttpUtilsTest.java b/infra/common/src/test/java/cn/hippo4j/common/toolkit/http/HttpUtilsTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/toolkit/http/HttpUtilsTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/toolkit/http/HttpUtilsTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/toolkit/http/LoginServlet.java b/infra/common/src/test/java/cn/hippo4j/common/toolkit/http/LoginServlet.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/toolkit/http/LoginServlet.java
rename to infra/common/src/test/java/cn/hippo4j/common/toolkit/http/LoginServlet.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/web/ResultsTest.java b/infra/common/src/test/java/cn/hippo4j/common/web/ResultsTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/web/ResultsTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/web/ResultsTest.java
diff --git a/threadpool/common/src/test/java/cn/hippo4j/common/web/base/ResultsTest.java b/infra/common/src/test/java/cn/hippo4j/common/web/base/ResultsTest.java
similarity index 100%
rename from threadpool/common/src/test/java/cn/hippo4j/common/web/base/ResultsTest.java
rename to infra/common/src/test/java/cn/hippo4j/common/web/base/ResultsTest.java
diff --git a/threadpool/common/src/test/resources/META-INF/services/cn.hippo4j.common.executor.support.CustomBlockingQueue b/infra/common/src/test/resources/META-INF/services/cn.hippo4j.common.executor.support.CustomBlockingQueue
similarity index 100%
rename from threadpool/common/src/test/resources/META-INF/services/cn.hippo4j.common.executor.support.CustomBlockingQueue
rename to infra/common/src/test/resources/META-INF/services/cn.hippo4j.common.executor.support.CustomBlockingQueue
diff --git a/threadpool/common/src/test/resources/META-INF/services/cn.hippo4j.common.extension.spi.IOldSpi b/infra/common/src/test/resources/META-INF/services/cn.hippo4j.common.extension.spi.IOldSpi
similarity index 100%
rename from threadpool/common/src/test/resources/META-INF/services/cn.hippo4j.common.extension.spi.IOldSpi
rename to infra/common/src/test/resources/META-INF/services/cn.hippo4j.common.extension.spi.IOldSpi
diff --git a/threadpool/common/src/test/resources/META-INF/services/cn.hippo4j.common.spi.TestInterfaceSPI b/infra/common/src/test/resources/META-INF/services/cn.hippo4j.common.spi.TestInterfaceSPI
similarity index 100%
rename from threadpool/common/src/test/resources/META-INF/services/cn.hippo4j.common.spi.TestInterfaceSPI
rename to infra/common/src/test/resources/META-INF/services/cn.hippo4j.common.spi.TestInterfaceSPI
diff --git a/threadpool/common/src/test/resources/META-INF/services/cn.hippo4j.common.spi.TestSingletonInterfaceSPI b/infra/common/src/test/resources/META-INF/services/cn.hippo4j.common.spi.TestSingletonInterfaceSPI
similarity index 100%
rename from threadpool/common/src/test/resources/META-INF/services/cn.hippo4j.common.spi.TestSingletonInterfaceSPI
rename to infra/common/src/test/resources/META-INF/services/cn.hippo4j.common.spi.TestSingletonInterfaceSPI
diff --git a/threadpool/common/src/test/resources/test/test_utf8.txt b/infra/common/src/test/resources/test/test_utf8.txt
similarity index 100%
rename from threadpool/common/src/test/resources/test/test_utf8.txt
rename to infra/common/src/test/resources/test/test_utf8.txt
diff --git a/infra/pom.xml b/infra/pom.xml
new file mode 100644
index 00000000..17518798
--- /dev/null
+++ b/infra/pom.xml
@@ -0,0 +1,19 @@
+
+
+ 4.0.0
+
+ cn.hippo4j
+ hippo4j-all
+ ${revision}
+
+
+ hippo4j-infra
+ pom
+
+
+ common
+ toolkit
+
+
\ No newline at end of file
diff --git a/common/pom.xml b/infra/toolkit/pom.xml
similarity index 77%
rename from common/pom.xml
rename to infra/toolkit/pom.xml
index e650370a..8784aa5e 100644
--- a/common/pom.xml
+++ b/infra/toolkit/pom.xml
@@ -5,8 +5,9 @@
4.0.0cn.hippo4j
- hippo4j-all
+ hippo4j-infra${revision}
- hippo4j-common
+
+ hippo4j-threadpool-infra-toolkit
\ No newline at end of file
diff --git a/kernel/alarm/pom.xml b/kernel/alarm/pom.xml
new file mode 100644
index 00000000..0bb19b1c
--- /dev/null
+++ b/kernel/alarm/pom.xml
@@ -0,0 +1,13 @@
+
+
+ 4.0.0
+
+ cn.hippo4j
+ hippo4j-kernel
+ ${revision}
+
+
+ hippo4j-threadpool-kernel-alarm
+
\ No newline at end of file
diff --git a/kernel/dynamic/pom.xml b/kernel/dynamic/pom.xml
new file mode 100644
index 00000000..ee66f779
--- /dev/null
+++ b/kernel/dynamic/pom.xml
@@ -0,0 +1,13 @@
+
+
+ 4.0.0
+
+ cn.hippo4j
+ hippo4j-kernel
+ ${revision}
+
+
+ hippo4j-threadpool-kernel-dynamic
+
\ No newline at end of file
diff --git a/kernel/message/pom.xml b/kernel/message/pom.xml
new file mode 100644
index 00000000..1957cad9
--- /dev/null
+++ b/kernel/message/pom.xml
@@ -0,0 +1,13 @@
+
+
+ 4.0.0
+
+ cn.hippo4j
+ hippo4j-kernel
+ ${revision}
+
+
+ hippo4j-threadpool-kernel-message
+
\ No newline at end of file
diff --git a/kernel/pom.xml b/kernel/pom.xml
new file mode 100644
index 00000000..3b194094
--- /dev/null
+++ b/kernel/pom.xml
@@ -0,0 +1,20 @@
+
+
+ 4.0.0
+
+ cn.hippo4j
+ hippo4j-all
+ ${revision}
+
+
+ hippo4j-kernel
+ pom
+
+
+ alarm
+ dynamic
+ message
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index c986a1de..4a2f7683 100644
--- a/pom.xml
+++ b/pom.xml
@@ -43,13 +43,14 @@
+ agentsdependencies
- threadpool
- common
+ examples
+ infra
+ kernelstarterstests
- examples
- agents
+ threadpool
diff --git a/starters/threadpool/server/pom.xml b/starters/threadpool/server/pom.xml
index 4d4f15cc..daf82eaa 100644
--- a/starters/threadpool/server/pom.xml
+++ b/starters/threadpool/server/pom.xml
@@ -25,7 +25,7 @@
cn.hippo4j
- hippo4j-threadpool-common
+ hippo4j-threadpool-infra-common${project.version}
diff --git a/threadpool/adapter/base/pom.xml b/threadpool/adapter/base/pom.xml
index c9db0b08..2c253278 100644
--- a/threadpool/adapter/base/pom.xml
+++ b/threadpool/adapter/base/pom.xml
@@ -12,7 +12,7 @@
cn.hippo4j
- hippo4j-threadpool-common
+ hippo4j-threadpool-infra-common${project.version}
diff --git a/threadpool/core/pom.xml b/threadpool/core/pom.xml
index e3538d46..fac63720 100644
--- a/threadpool/core/pom.xml
+++ b/threadpool/core/pom.xml
@@ -12,7 +12,7 @@
cn.hippo4j
- hippo4j-threadpool-common
+ hippo4j-threadpool-infra-common${project.version}
diff --git a/threadpool/core/src/test/java/cn/hippo4j/core/executor/support/AbstractBuildThreadPoolTemplateTest.java b/threadpool/core/src/test/java/cn/hippo4j/core/executor/support/AbstractBuildThreadPoolTemplateTest.java
index 67cbc82a..0e77555c 100644
--- a/threadpool/core/src/test/java/cn/hippo4j/core/executor/support/AbstractBuildThreadPoolTemplateTest.java
+++ b/threadpool/core/src/test/java/cn/hippo4j/core/executor/support/AbstractBuildThreadPoolTemplateTest.java
@@ -52,7 +52,6 @@ public class AbstractBuildThreadPoolTemplateTest {
.setTaskDecorator(runnable -> runnable);
}
-
@Test
public void testBuildPool() {
ThreadPoolExecutor executor = AbstractBuildThreadPoolTemplate.buildPool(initParam);
@@ -74,7 +73,6 @@ public class AbstractBuildThreadPoolTemplateTest {
}
-
@Test
public void testBuildFastPool() {
ThreadPoolExecutor executor = AbstractBuildThreadPoolTemplate.buildFastPool(initParam);
@@ -96,8 +94,6 @@ public class AbstractBuildThreadPoolTemplateTest {
}
-
-
@Test
public void testBuildDynamicPool() {
initParam.setWaitForTasksToCompleteOnShutdown(true);
@@ -118,7 +114,5 @@ public class AbstractBuildThreadPoolTemplateTest {
}
Assert.assertEquals(2, count.get());
-
}
-
}
diff --git a/threadpool/pom.xml b/threadpool/pom.xml
index 99831ecb..b167f2f3 100644
--- a/threadpool/pom.xml
+++ b/threadpool/pom.xml
@@ -13,7 +13,6 @@
adapter
- commoncoremessagemonitor
diff --git a/threadpool/rpc/pom.xml b/threadpool/rpc/pom.xml
index 15307e93..c6f0d91b 100644
--- a/threadpool/rpc/pom.xml
+++ b/threadpool/rpc/pom.xml
@@ -12,7 +12,7 @@
cn.hippo4j
- hippo4j-threadpool-common
+ hippo4j-threadpool-infra-common${project.version}
diff --git a/threadpool/server/auth/pom.xml b/threadpool/server/auth/pom.xml
index ea452b5c..2b431f09 100644
--- a/threadpool/server/auth/pom.xml
+++ b/threadpool/server/auth/pom.xml
@@ -54,7 +54,7 @@
cn.hippo4j
- hippo4j-threadpool-common
+ hippo4j-threadpool-infra-common${project.version}
diff --git a/threadpool/server/config/pom.xml b/threadpool/server/config/pom.xml
index 77b50351..75740382 100644
--- a/threadpool/server/config/pom.xml
+++ b/threadpool/server/config/pom.xml
@@ -16,7 +16,7 @@
cn.hippo4j
- hippo4j-threadpool-common
+ hippo4j-threadpool-infra-common${project.version}
diff --git a/threadpool/server/discovery/pom.xml b/threadpool/server/discovery/pom.xml
index 0f46eabf..42894bb4 100644
--- a/threadpool/server/discovery/pom.xml
+++ b/threadpool/server/discovery/pom.xml
@@ -24,7 +24,7 @@
cn.hippo4j
- hippo4j-threadpool-common
+ hippo4j-threadpool-infra-common${project.version}
From f80f50c82ae43c6c6cd6c68c2d58a12e3329e391 Mon Sep 17 00:00:00 2001
From: lucca suen <72333564+lucca-suen@users.noreply.github.com>
Date: Tue, 16 May 2023 00:53:19 +0800
Subject: [PATCH 3/9] Optimize HttpUtilsTest for different operating systems
(#1286)
---
.../test/java/cn/hippo4j/common/toolkit/http/HttpUtilsTest.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/infra/common/src/test/java/cn/hippo4j/common/toolkit/http/HttpUtilsTest.java b/infra/common/src/test/java/cn/hippo4j/common/toolkit/http/HttpUtilsTest.java
index f238ea96..a4e500b7 100644
--- a/infra/common/src/test/java/cn/hippo4j/common/toolkit/http/HttpUtilsTest.java
+++ b/infra/common/src/test/java/cn/hippo4j/common/toolkit/http/HttpUtilsTest.java
@@ -52,7 +52,7 @@ public class HttpUtilsTest {
static final String CONTEXT_PATH = "/";
static final String PATH_NAME = ".";
static final String USER_DIR = "user.dir";
- static final String PREFIX = "\\tomcat.";
+ static final String PREFIX = File.separator + "tomcat.";
@BeforeClass
public static void startWeb() throws IOException, LifecycleException {
From 95cd53af35a203cacf90d02efadf53f83adf8333 Mon Sep 17 00:00:00 2001
From: Xin Chen <37373516+DDreame@users.noreply.github.com>
Date: Tue, 16 May 2023 09:25:11 +0800
Subject: [PATCH 4/9] fix StyleCheck Errors. (#1288)
* fix checkType errors about module hippo4j-threadpool-adapter-web
* fix checkType errors about module hippo4j-threadpool-spring-boot-starter-adapter-web
* fix checkType errors about module hippo4j-threadpool-rpc.
---
.../adapter/web/WebThreadPoolHandlerConfiguration.java | 9 +++++++++
.../undertow/UndertowWebThreadPoolHandlerSupport.java | 3 ++-
.../cn/hippo4j/rpc/client/NettyClientConnection.java | 4 +++-
.../src/main/java/cn/hippo4j/rpc/coder/NettyEncoder.java | 5 +++--
.../main/java/cn/hippo4j/rpc/handler/HandlerManager.java | 4 ++++
.../main/java/cn/hippo4j/rpc/model/DefaultRequest.java | 6 ++++--
.../main/java/cn/hippo4j/rpc/model/DefaultResponse.java | 6 ++++--
.../cn/hippo4j/rpc/server/NettyServerConnection.java | 3 ++-
8 files changed, 31 insertions(+), 9 deletions(-)
diff --git a/starters/threadpool/adapter/web/src/main/java/cn/hippo4j/springboot/starter/adapter/web/WebThreadPoolHandlerConfiguration.java b/starters/threadpool/adapter/web/src/main/java/cn/hippo4j/springboot/starter/adapter/web/WebThreadPoolHandlerConfiguration.java
index 2027668b..7dd86213 100644
--- a/starters/threadpool/adapter/web/src/main/java/cn/hippo4j/springboot/starter/adapter/web/WebThreadPoolHandlerConfiguration.java
+++ b/starters/threadpool/adapter/web/src/main/java/cn/hippo4j/springboot/starter/adapter/web/WebThreadPoolHandlerConfiguration.java
@@ -50,6 +50,9 @@ import javax.servlet.Servlet;
@Configuration(proxyBeanMethods = false)
public class WebThreadPoolHandlerConfiguration {
+ /**
+ * embedded tomcat
+ */
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass({Servlet.class, Tomcat.class, UpgradeProtocol.class})
@ConditionalOnBean(value = ConfigurableTomcatWebServerFactory.class, search = SearchStrategy.CURRENT)
@@ -67,6 +70,9 @@ public class WebThreadPoolHandlerConfiguration {
}
}
+ /**
+ * embedded jetty
+ */
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass({Servlet.class, Server.class, Loader.class, WebAppContext.class})
@ConditionalOnBean(value = ConfigurableJettyWebServerFactory.class, search = SearchStrategy.CURRENT)
@@ -84,6 +90,9 @@ public class WebThreadPoolHandlerConfiguration {
}
}
+ /**
+ * embedded undertow
+ */
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass({Servlet.class, Undertow.class, SslClientAuthMode.class})
@ConditionalOnBean(value = ConfigurableUndertowWebServerFactory.class, search = SearchStrategy.CURRENT)
diff --git a/threadpool/adapter/web/src/main/java/cn/hippo4j/adapter/web/undertow/UndertowWebThreadPoolHandlerSupport.java b/threadpool/adapter/web/src/main/java/cn/hippo4j/adapter/web/undertow/UndertowWebThreadPoolHandlerSupport.java
index 6917a26a..0c2cd8bb 100644
--- a/threadpool/adapter/web/src/main/java/cn/hippo4j/adapter/web/undertow/UndertowWebThreadPoolHandlerSupport.java
+++ b/threadpool/adapter/web/src/main/java/cn/hippo4j/adapter/web/undertow/UndertowWebThreadPoolHandlerSupport.java
@@ -55,6 +55,7 @@ public class UndertowWebThreadPoolHandlerSupport implements IWebThreadPoolHandle
this.executor = executor;
}
+ private final long noRejectCount = -1L;
@Override
public ThreadPoolBaseInfo simpleInfo() {
ThreadPoolBaseInfo poolBaseInfo = new ThreadPoolBaseInfo();
@@ -122,7 +123,7 @@ public class UndertowWebThreadPoolHandlerSupport implements IWebThreadPoolHandle
stateInfo.setPeakLoad(peakLoad);
long rejectCount = fieldObject instanceof DynamicThreadPoolExecutor
? ((DynamicThreadPoolExecutor) fieldObject).getRejectCountNum()
- : -1L;
+ : -noRejectCount;
stateInfo.setRejectCount(rejectCount);
stateInfo.setClientLastRefreshTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
stateInfo.setTimestamp(System.currentTimeMillis());
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/client/NettyClientConnection.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/client/NettyClientConnection.java
index e6337999..b98228c7 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/client/NettyClientConnection.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/client/NettyClientConnection.java
@@ -49,6 +49,8 @@ public class NettyClientConnection implements ClientConnection {
* Obtain the connection timeout period. The default value is 30s
*/
long timeout = 30000L;
+ final int nanosPerMilliSecond = 1000000;
+
EventLoopGroup worker = new NioEventLoopGroup();
NettyConnectPool connectionPool;
ChannelFuture future;
@@ -74,7 +76,7 @@ public class NettyClientConnection implements ClientConnection {
}
// Wait for execution to complete
ResultHolder.putThread(key, Thread.currentThread());
- LockSupport.parkNanos(timeout() * 1000000);
+ LockSupport.parkNanos(timeout() * nanosPerMilliSecond);
response = ResultHolder.get(key);
if (response == null) {
throw new TimeOutException("Timeout waiting for server-side response");
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/coder/NettyEncoder.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/coder/NettyEncoder.java
index 7cbfaff7..3197b3a7 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/coder/NettyEncoder.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/coder/NettyEncoder.java
@@ -34,7 +34,8 @@ import java.io.Serializable;
*/
public class NettyEncoder extends MessageToByteEncoder {
- private static final byte[] BYTE = new byte[4];
+ private static final int BYTE_LENGTH = 4;
+ private static final byte[] BYTE = new byte[BYTE_LENGTH];
@Override
protected void encode(ChannelHandlerContext ctx, Serializable msg, ByteBuf out) throws Exception {
@@ -49,6 +50,6 @@ public class NettyEncoder extends MessageToByteEncoder {
throw new CoderException("The encoding is abnormal, which may be caused by the transfer object being unable to be serialized");
}
int endIndex = out.writerIndex();
- out.setInt(startIndex, endIndex - startIndex - 4);
+ out.setInt(startIndex, endIndex - startIndex - BYTE_LENGTH);
}
}
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/HandlerManager.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/HandlerManager.java
index 18460ac3..fbc72bc4 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/HandlerManager.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/HandlerManager.java
@@ -73,6 +73,10 @@ public interface HandlerManager {
return new HandlerEntity<>(order, handler, name);
}
+ /**
+ * handler entity
+ * @param
+ */
@Getter
@AllArgsConstructor
class HandlerEntity implements Comparable> {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/model/DefaultRequest.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/model/DefaultRequest.java
index 4dc30bb8..a49ad075 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/model/DefaultRequest.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/model/DefaultRequest.java
@@ -71,10 +71,12 @@ public final class DefaultRequest implements Request {
@Override
public boolean equals(Object o) {
- if (this == o)
+ if (this == o) {
return true;
- if (o == null || getClass() != o.getClass())
+ }
+ if (o == null || getClass() != o.getClass()) {
return false;
+ }
DefaultRequest that = (DefaultRequest) o;
return Objects.equals(key, that.key)
&& Objects.equals(className, that.className)
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/model/DefaultResponse.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/model/DefaultResponse.java
index 0fc68f44..1f4d46ae 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/model/DefaultResponse.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/model/DefaultResponse.java
@@ -84,10 +84,12 @@ public class DefaultResponse implements Response {
@Override
public boolean equals(Object o) {
- if (this == o)
+ if (this == o) {
return true;
- if (o == null || getClass() != o.getClass())
+ }
+ if (o == null || getClass() != o.getClass()) {
return false;
+ }
DefaultResponse that = (DefaultResponse) o;
return Objects.equals(key, that.key) && Objects.equals(cls, that.cls);
}
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/server/NettyServerConnection.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/server/NettyServerConnection.java
index a6adc0d1..65a8c2b6 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/server/NettyServerConnection.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/server/NettyServerConnection.java
@@ -56,6 +56,7 @@ public class NettyServerConnection extends AbstractNettyHandlerManager implement
Class extends ServerChannel> socketChannelCls = NioServerSocketChannel.class;
ChannelFuture future;
Channel channel;
+ private final int maxPortNum = 65535;
public NettyServerConnection(EventLoopGroup leader, EventLoopGroup worker, List handlers) {
super(handlers);
@@ -80,7 +81,7 @@ public class NettyServerConnection extends AbstractNettyHandlerManager implement
@Override
public void bind(ServerPort port) {
int serverPort = port.getPort();
- if (serverPort < 0 || serverPort > 65535) {
+ if (serverPort < 0 || serverPort > maxPortNum) {
throw new ConnectionException("The port number " + serverPort + " is outside 0~65535, which is not a legal port number");
}
ServerBootstrap server = new ServerBootstrap();
From 80fd519a7be70be8f55f2022177bc6d5c876f723 Mon Sep 17 00:00:00 2001
From: pc <52450205+pc-mysql@users.noreply.github.com>
Date: Tue, 16 May 2023 09:30:06 +0800
Subject: [PATCH 5/9] fix H2 database usage error (#1287)
---
.../auth/src/main/java/cn/hippo4j/auth/model/UserInfo.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/threadpool/server/auth/src/main/java/cn/hippo4j/auth/model/UserInfo.java b/threadpool/server/auth/src/main/java/cn/hippo4j/auth/model/UserInfo.java
index e9818615..412aa717 100644
--- a/threadpool/server/auth/src/main/java/cn/hippo4j/auth/model/UserInfo.java
+++ b/threadpool/server/auth/src/main/java/cn/hippo4j/auth/model/UserInfo.java
@@ -31,7 +31,7 @@ import java.util.Date;
* User info.
*/
@Data
-@TableName("user")
+@TableName("`user`")
public class UserInfo {
/**
From 19d4a85777992cee1a7aaf59fb7f8e4ac35b6e74 Mon Sep 17 00:00:00 2001
From: Dmego
Date: Wed, 17 May 2023 12:16:37 +0800
Subject: [PATCH 6/9] optimize: fix StyleCheck errors for
hippo4j-threadpool-core (#1289)
* optimize: fix StyleCheck errors for hippo4j-threadpool-core
* add TaskTimeRecordPlugin#TableSizeFor test method
---
.../cn/hippo4j/common/constant/Constants.java | 2 +
.../core/enable/BeforeCheckConfiguration.java | 3 ++
.../core/enable/MarkerConfiguration.java | 3 ++
.../executor/DynamicThreadPoolExecutor.java | 20 +++++++--
.../state/AbstractThreadPoolRuntime.java | 4 +-
.../AbstractDynamicExecutorSupport.java | 4 +-
.../DynamicThreadPoolAdapterChoose.java | 2 +-
.../adpter/ThreadPoolTaskExecutorAdapter.java | 2 +-
...ansmittableThreadLocalExecutorAdapter.java | 4 +-
...ableThreadLocalExecutorServiceAdapter.java | 4 +-
.../support/adpter/ZipkinExecutorAdapter.java | 6 +--
.../DynamicThreadPoolBannerHandler.java | 10 ++---
.../plugin/impl/TaskTimeRecordPlugin.java | 41 +++++++++++++------
.../ThreadPoolExecutorShutdownPlugin.java | 2 +-
...ommonDynamicThreadPoolProviderFactory.java | 23 +++++++++--
.../toolkit/ExecutorTraceContextUtil.java | 8 ++--
.../cn/hippo4j/core/toolkit/IdentifyUtil.java | 19 +++++----
.../cn/hippo4j/core/toolkit/SystemClock.java | 2 +-
.../hippo4j/core/toolkit/inet/InetUtils.java | 2 +-
.../plugin/impl/TaskTimeRecordPluginTest.java | 20 +++++++++
20 files changed, 131 insertions(+), 50 deletions(-)
diff --git a/infra/common/src/main/java/cn/hippo4j/common/constant/Constants.java b/infra/common/src/main/java/cn/hippo4j/common/constant/Constants.java
index 80e7951d..06de3506 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/constant/Constants.java
+++ b/infra/common/src/main/java/cn/hippo4j/common/constant/Constants.java
@@ -131,4 +131,6 @@ public class Constants {
public static final String CLIENT_VERSION = "Client-Version";
public static final String CONFIGURATION_PROPERTIES_PREFIX = "spring.dynamic.thread-pool";
+
+ public static final long NO_REJECT_COUNT_NUM = -1L;
}
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/enable/BeforeCheckConfiguration.java b/threadpool/core/src/main/java/cn/hippo4j/core/enable/BeforeCheckConfiguration.java
index bbcc377d..17baabd0 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/enable/BeforeCheckConfiguration.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/enable/BeforeCheckConfiguration.java
@@ -70,6 +70,9 @@ public class BeforeCheckConfiguration {
return new BeforeCheckConfiguration.BeforeCheck();
}
+ /**
+ * Before check.
+ */
public class BeforeCheck {
}
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/enable/MarkerConfiguration.java b/threadpool/core/src/main/java/cn/hippo4j/core/enable/MarkerConfiguration.java
index de7c762e..f22ea7fd 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/enable/MarkerConfiguration.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/enable/MarkerConfiguration.java
@@ -31,6 +31,9 @@ public class MarkerConfiguration {
return new Marker();
}
+ /**
+ * Marker.
+ */
public class Marker {
}
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/executor/DynamicThreadPoolExecutor.java b/threadpool/core/src/main/java/cn/hippo4j/core/executor/DynamicThreadPoolExecutor.java
index a33c6b83..15c4f07f 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/executor/DynamicThreadPoolExecutor.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/executor/DynamicThreadPoolExecutor.java
@@ -40,6 +40,8 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLong;
+import static cn.hippo4j.common.constant.Constants.NO_REJECT_COUNT_NUM;
+
/**
* Enhanced dynamic and monitored thread pool.
*/
@@ -57,7 +59,17 @@ public class DynamicThreadPoolExecutor extends ExtensibleThreadPoolExecutor impl
*/
@Getter
@Setter
- public boolean waitForTasksToCompleteOnShutdown;
+ private boolean waitForTasksToCompleteOnShutdown;
+
+ /**
+ * The default await termination millis
+ */
+ private static final Long DEFAULT_AWAIT_TERMINATION_MILLIS = -1L;
+
+ /**
+ * The default execute timeout
+ */
+ private static final Long DEFAULT_EXECUTE_TIMEOUT = -1L;
/**
* Creates a new {@code DynamicThreadPoolExecutor} with the given initial parameters.
@@ -149,7 +161,7 @@ public class DynamicThreadPoolExecutor extends ExtensibleThreadPoolExecutor impl
public long getAwaitTerminationMillis() {
return getPluginOfType(ThreadPoolExecutorShutdownPlugin.PLUGIN_NAME, ThreadPoolExecutorShutdownPlugin.class)
.map(ThreadPoolExecutorShutdownPlugin::getAwaitTerminationMillis)
- .orElse(-1L);
+ .orElse(DEFAULT_AWAIT_TERMINATION_MILLIS);
}
/**
@@ -176,7 +188,7 @@ public class DynamicThreadPoolExecutor extends ExtensibleThreadPoolExecutor impl
public Long getRejectCountNum() {
return getPluginOfType(TaskRejectCountRecordPlugin.PLUGIN_NAME, TaskRejectCountRecordPlugin.class)
.map(TaskRejectCountRecordPlugin::getRejectCountNum)
- .orElse(-1L);
+ .orElse(NO_REJECT_COUNT_NUM);
}
/**
@@ -201,7 +213,7 @@ public class DynamicThreadPoolExecutor extends ExtensibleThreadPoolExecutor impl
public Long getExecuteTimeOut() {
return getPluginOfType(TaskTimeoutNotifyAlarmPlugin.PLUGIN_NAME, TaskTimeoutNotifyAlarmPlugin.class)
.map(TaskTimeoutNotifyAlarmPlugin::getExecuteTimeOut)
- .orElse(-1L);
+ .orElse(DEFAULT_EXECUTE_TIMEOUT);
}
/**
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/executor/state/AbstractThreadPoolRuntime.java b/threadpool/core/src/main/java/cn/hippo4j/core/executor/state/AbstractThreadPoolRuntime.java
index 8d9ca68f..90b5f547 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/executor/state/AbstractThreadPoolRuntime.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/executor/state/AbstractThreadPoolRuntime.java
@@ -29,6 +29,8 @@ import java.util.concurrent.BlockingQueue;
import java.util.concurrent.Executor;
import java.util.concurrent.ThreadPoolExecutor;
+import static cn.hippo4j.common.constant.Constants.NO_REJECT_COUNT_NUM;
+
/**
* Abstract threadPool runtime info.
*/
@@ -66,7 +68,7 @@ public abstract class AbstractThreadPoolRuntime {
int activeCount = actualExecutor.getActiveCount();
int largestPoolSize = actualExecutor.getLargestPoolSize();
BlockingQueue blockingQueue = actualExecutor.getQueue();
- long rejectCount = actualExecutor instanceof DynamicThreadPoolExecutor ? ((DynamicThreadPoolExecutor) actualExecutor).getRejectCountNum() : -1L;
+ long rejectCount = actualExecutor instanceof DynamicThreadPoolExecutor ? ((DynamicThreadPoolExecutor) actualExecutor).getRejectCountNum() : NO_REJECT_COUNT_NUM;
ThreadPoolRunStateInfo stateInfo = ThreadPoolRunStateInfo.builder()
.tpId(threadPoolId)
.activeSize(activeCount)
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/AbstractDynamicExecutorSupport.java b/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/AbstractDynamicExecutorSupport.java
index 91de8469..b44ef7d0 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/AbstractDynamicExecutorSupport.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/AbstractDynamicExecutorSupport.java
@@ -44,9 +44,9 @@ public abstract class AbstractDynamicExecutorSupport extends ThreadPoolExecutor
private ExecutorService executor;
- public long awaitTerminationMillis;
+ private long awaitTerminationMillis;
- public boolean waitForTasksToCompleteOnShutdown;
+ private boolean waitForTasksToCompleteOnShutdown;
public AbstractDynamicExecutorSupport(int corePoolSize,
int maximumPoolSize,
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/adpter/DynamicThreadPoolAdapterChoose.java b/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/adpter/DynamicThreadPoolAdapterChoose.java
index 420fc353..528eaa5e 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/adpter/DynamicThreadPoolAdapterChoose.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/adpter/DynamicThreadPoolAdapterChoose.java
@@ -33,7 +33,7 @@ import java.util.concurrent.Executor;
*/
public class DynamicThreadPoolAdapterChoose {
- private static List DYNAMIC_THREAD_POOL_ADAPTERS = new ArrayList<>();
+ private static final List DYNAMIC_THREAD_POOL_ADAPTERS = new ArrayList<>();
static {
DYNAMIC_THREAD_POOL_ADAPTERS.add(new TransmittableThreadLocalExecutorAdapter());
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/adpter/ThreadPoolTaskExecutorAdapter.java b/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/adpter/ThreadPoolTaskExecutorAdapter.java
index 283942db..79b6aa22 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/adpter/ThreadPoolTaskExecutorAdapter.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/adpter/ThreadPoolTaskExecutorAdapter.java
@@ -46,7 +46,7 @@ public class ThreadPoolTaskExecutorAdapter implements DynamicThreadPoolAdapter {
private static final String QUEUE_CAPACITY = "queueCapacity";
- private static String MATCH_CLASS_NAME = "ThreadPoolTaskExecutor";
+ private static final String MATCH_CLASS_NAME = "ThreadPoolTaskExecutor";
@Override
public boolean match(Object executor) {
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/adpter/TransmittableThreadLocalExecutorAdapter.java b/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/adpter/TransmittableThreadLocalExecutorAdapter.java
index f51c809c..b848a8ed 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/adpter/TransmittableThreadLocalExecutorAdapter.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/adpter/TransmittableThreadLocalExecutorAdapter.java
@@ -28,9 +28,9 @@ import java.util.concurrent.Executor;
*/
public class TransmittableThreadLocalExecutorAdapter implements DynamicThreadPoolAdapter {
- private static String MATCH_CLASS_NAME = "ExecutorTtlWrapper";
+ private static final String MATCH_CLASS_NAME = "ExecutorTtlWrapper";
- private static String FIELD_NAME = "executor";
+ private static final String FIELD_NAME = "executor";
@Override
public boolean match(Object executor) {
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/adpter/TransmittableThreadLocalExecutorServiceAdapter.java b/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/adpter/TransmittableThreadLocalExecutorServiceAdapter.java
index 575c9725..2597a0e6 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/adpter/TransmittableThreadLocalExecutorServiceAdapter.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/adpter/TransmittableThreadLocalExecutorServiceAdapter.java
@@ -28,9 +28,9 @@ import java.util.concurrent.Executor;
*/
public class TransmittableThreadLocalExecutorServiceAdapter implements DynamicThreadPoolAdapter {
- private static String MATCH_CLASS_NAME = "ExecutorServiceTtlWrapper";
+ private static final String MATCH_CLASS_NAME = "ExecutorServiceTtlWrapper";
- private static String FIELD_NAME = "executorService";
+ private static final String FIELD_NAME = "executorService";
@Override
public boolean match(Object executor) {
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/adpter/ZipkinExecutorAdapter.java b/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/adpter/ZipkinExecutorAdapter.java
index 9de29d56..12863417 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/adpter/ZipkinExecutorAdapter.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/adpter/ZipkinExecutorAdapter.java
@@ -31,9 +31,9 @@ import java.util.concurrent.Executor;
*/
public class ZipkinExecutorAdapter implements DynamicThreadPoolAdapter {
- private final static String MATCH_CLASS_NAME = "brave.internal.WrappingExecutorService";
- private final static String FIELD_NAME = "delegate";
- private final static String TYPE_NAME = "java.util.concurrent.ExecutorService";
+ private static final String MATCH_CLASS_NAME = "brave.internal.WrappingExecutorService";
+ private static final String FIELD_NAME = "delegate";
+ private static final String TYPE_NAME = "java.util.concurrent.ExecutorService";
@Override
public boolean match(Object executor) {
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/handler/DynamicThreadPoolBannerHandler.java b/threadpool/core/src/main/java/cn/hippo4j/core/handler/DynamicThreadPoolBannerHandler.java
index 0704c93e..0b026412 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/handler/DynamicThreadPoolBannerHandler.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/handler/DynamicThreadPoolBannerHandler.java
@@ -34,13 +34,13 @@ public class DynamicThreadPoolBannerHandler implements InitializingBean {
private final BootstrapPropertiesInterface properties;
- private final String DYNAMIC_THREAD_POOL = " :: Dynamic ThreadPool :: ";
+ private static final String DYNAMIC_THREAD_POOL = " :: Dynamic ThreadPool :: ";
- private final String HIPPO4J_GITHUB = "GitHub: https://github.com/opengoofy/hippo4j";
+ private static final String HIPPO4J_GITHUB = "GitHub: https://github.com/opengoofy/hippo4j";
- private final String HIPPO4J_SITE = "Site: https://www.hippo4j.cn";
+ private static final String HIPPO4J_SITE = "Site: https://www.hippo4j.cn";
- private final int STRAP_LINE_SIZE = 50;
+ private static final int STRAP_LINE_SIZE = 50;
private final String version;
@@ -70,7 +70,7 @@ public class DynamicThreadPoolBannerHandler implements InitializingBean {
while (padding.length() < STRAP_LINE_SIZE - (bannerVersion.length() + DYNAMIC_THREAD_POOL.length())) {
padding.append(" ");
}
- System.out.println(AnsiOutput.toString(banner, AnsiColor.GREEN, DYNAMIC_THREAD_POOL, AnsiColor.DEFAULT,
+ log.info(AnsiOutput.toString("\n", banner, AnsiColor.GREEN, DYNAMIC_THREAD_POOL, AnsiColor.DEFAULT,
padding.toString(), AnsiStyle.FAINT, bannerVersion, "\n\n", HIPPO4J_GITHUB, "\n", HIPPO4J_SITE, "\n"));
}
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/plugin/impl/TaskTimeRecordPlugin.java b/threadpool/core/src/main/java/cn/hippo4j/core/plugin/impl/TaskTimeRecordPlugin.java
index 9753cbbd..5c47a7c7 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/plugin/impl/TaskTimeRecordPlugin.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/plugin/impl/TaskTimeRecordPlugin.java
@@ -39,7 +39,14 @@ import java.util.stream.Collectors;
*/
public class TaskTimeRecordPlugin extends AbstractTaskTimerPlugin {
- private static final int MAXIMUM_CAPACITY = 1 << 30;
+ /**
+ * maximumCapacity: 1 << 30
+ */
+ private static final int MAXIMUM_CAPACITY = 1073741824;
+
+ /**
+ * pluginName.
+ */
public static final String PLUGIN_NAME = TaskTimeRecordPlugin.class.getSimpleName();
/**
@@ -50,7 +57,22 @@ public class TaskTimeRecordPlugin extends AbstractTaskTimerPlugin {
/**
* timers
*/
- public final Timer[] timerTable;
+ private final Timer[] timerTable;
+
+ /**
+ * The default time mills
+ */
+ private static final long DEFAULT_TIME_MILLS = -1L;
+
+ /**
+ * No task count
+ */
+ private static final long NO_TASK_COUNT = -1L;
+
+ /**
+ * All bits are values of 1
+ */
+ private static final int ALL_BIT_IS_ONE = -1;
/**
* Create a {@link TaskTimeRecordPlugin}
@@ -116,8 +138,8 @@ public class TaskTimeRecordPlugin extends AbstractTaskTimerPlugin {
// summarize data
long totalTaskTimeMillis = 0L;
- long maxTaskTimeMillis = -1L;
- long minTaskTimeMillis = -1L;
+ long maxTaskTimeMillis = DEFAULT_TIME_MILLS;
+ long minTaskTimeMillis = DEFAULT_TIME_MILLS;
long taskCount = 0L;
for (Summary summary : summaries) {
if (taskCount > 0) {
@@ -147,13 +169,8 @@ public class TaskTimeRecordPlugin extends AbstractTaskTimerPlugin {
* copy from {@link HashMap#tableSizeFor}
*/
static int tableSizeFor(int cap) {
- int n = cap - 1;
- n |= n >>> 1;
- n |= n >>> 2;
- n |= n >>> 4;
- n |= n >>> 8;
- n |= n >>> 16;
- return n >= MAXIMUM_CAPACITY ? MAXIMUM_CAPACITY : n + 1;
+ int n = ALL_BIT_IS_ONE >>> Integer.numberOfLeadingZeros(cap - 1);
+ return (n < 0) ? 1 : (n >= MAXIMUM_CAPACITY) ? MAXIMUM_CAPACITY : n + 1;
}
/**
@@ -267,7 +284,7 @@ public class TaskTimeRecordPlugin extends AbstractTaskTimerPlugin {
*/
public long getAvgTaskTimeMillis() {
long totalTaskCount = getTaskCount();
- return totalTaskCount > 0L ? getTotalTaskTimeMillis() / totalTaskCount : -1;
+ return totalTaskCount > 0L ? getTotalTaskTimeMillis() / totalTaskCount : NO_TASK_COUNT;
}
}
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/plugin/impl/ThreadPoolExecutorShutdownPlugin.java b/threadpool/core/src/main/java/cn/hippo4j/core/plugin/impl/ThreadPoolExecutorShutdownPlugin.java
index f6c5969f..beec590b 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/plugin/impl/ThreadPoolExecutorShutdownPlugin.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/plugin/impl/ThreadPoolExecutorShutdownPlugin.java
@@ -51,7 +51,7 @@ public class ThreadPoolExecutorShutdownPlugin implements ShutdownAwarePlugin {
* Await termination millis
*/
@Setter
- public long awaitTerminationMillis;
+ private long awaitTerminationMillis;
/**
* Callback before pool shutdown.
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/provider/CommonDynamicThreadPoolProviderFactory.java b/threadpool/core/src/main/java/cn/hippo4j/core/provider/CommonDynamicThreadPoolProviderFactory.java
index c7282947..3350544e 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/provider/CommonDynamicThreadPoolProviderFactory.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/provider/CommonDynamicThreadPoolProviderFactory.java
@@ -28,6 +28,23 @@ import java.util.concurrent.TimeUnit;
*/
public class CommonDynamicThreadPoolProviderFactory {
+ /**
+ * Core pool size.
+ */
+ private static final int CORE_POOL_SIZE = 2;
+ /**
+ * Maximum pool size.
+ */
+ private static final int MAXIMUM_POOL_SIZE = 4;
+ /**
+ * Keep alive time.
+ */
+ private static final long KEEP_ALIVE_TIME = 60L;
+ /**
+ * Work queue capacity.
+ */
+ private static final int WORK_QUEUE_CAPACITY = 1024;
+
/**
* Get the public dynamic thread pool instance.
*
@@ -38,9 +55,9 @@ public class CommonDynamicThreadPoolProviderFactory {
DynamicThreadPoolExecutor dynamicThreadPoolExecutor = (DynamicThreadPoolExecutor) ThreadPoolBuilder.builder()
.dynamicPool()
.threadFactory(threadPoolId)
- .poolThreadSize(2, 4)
- .keepAliveTime(60L, TimeUnit.SECONDS)
- .workQueue(BlockingQueueTypeEnum.RESIZABLE_LINKED_BLOCKING_QUEUE, 1024)
+ .poolThreadSize(CORE_POOL_SIZE, MAXIMUM_POOL_SIZE)
+ .keepAliveTime(KEEP_ALIVE_TIME, TimeUnit.SECONDS)
+ .workQueue(BlockingQueueTypeEnum.RESIZABLE_LINKED_BLOCKING_QUEUE, WORK_QUEUE_CAPACITY)
.build();
return dynamicThreadPoolExecutor;
}
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/ExecutorTraceContextUtil.java b/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/ExecutorTraceContextUtil.java
index 0a9596ce..b7da8497 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/ExecutorTraceContextUtil.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/ExecutorTraceContextUtil.java
@@ -29,7 +29,7 @@ public class ExecutorTraceContextUtil {
/**
* Execute timeout trace key.
*/
- private static String EXECUTE_TIMEOUT_TRACE_KEY = EXECUTE_TIMEOUT_TRACE;
+ private static String executeTimeoutTraceKey = EXECUTE_TIMEOUT_TRACE;
/**
* Get and remove.
@@ -37,8 +37,8 @@ public class ExecutorTraceContextUtil {
* @return timeout trace
*/
public static String getAndRemoveTimeoutTrace() {
- String val = MDC.get(EXECUTE_TIMEOUT_TRACE_KEY);
- MDC.remove(EXECUTE_TIMEOUT_TRACE_KEY);
+ String val = MDC.get(executeTimeoutTraceKey);
+ MDC.remove(executeTimeoutTraceKey);
return val;
}
@@ -57,6 +57,6 @@ public class ExecutorTraceContextUtil {
* @param key trace key
*/
public static void setTimeoutTraceKey(String key) {
- EXECUTE_TIMEOUT_TRACE_KEY = key;
+ executeTimeoutTraceKey = key;
}
}
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/IdentifyUtil.java b/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/IdentifyUtil.java
index 00a67f26..5874f5b7 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/IdentifyUtil.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/IdentifyUtil.java
@@ -45,13 +45,18 @@ public class IdentifyUtil {
/**
* Identify
*/
- private static String IDENTIFY;
+ private static String identify;
/**
* Client identification value
*/
public static final String CLIENT_IDENTIFICATION_VALUE = IdUtil.simpleUUID();
+ /**
+ * Get identify sleep time
+ */
+ private static final int SLEEP_TIME = 500;
+
/**
* Generate identify.
*
@@ -60,8 +65,8 @@ public class IdentifyUtil {
* @return identify
*/
public static synchronized String generate(ConfigurableEnvironment environment, InetUtils inetUtil) {
- if (StringUtil.isNotBlank(IDENTIFY)) {
- return IDENTIFY;
+ if (StringUtil.isNotBlank(identify)) {
+ return identify;
}
String[] customerNetwork = ServiceLoaderRegistry.getSingletonServiceInstances(ClientNetworkService.class)
.stream().findFirst().map(each -> each.getNetworkIpPort(environment)).orElse(null);
@@ -79,7 +84,7 @@ public class IdentifyUtil {
+ port
+ IDENTIFY_SLICER_SYMBOL
+ CLIENT_IDENTIFICATION_VALUE;
- IDENTIFY = identify;
+ identify = identify;
return identify;
}
@@ -89,16 +94,16 @@ public class IdentifyUtil {
* @return identify
*/
public static String getIdentify() {
- while (StringUtil.isBlank(IDENTIFY)) {
+ while (StringUtil.isBlank(identify)) {
ConfigurableEnvironment environment = ApplicationContextHolder.getBean(ConfigurableEnvironment.class);
InetUtils inetUtils = ApplicationContextHolder.getBean(InetUtils.class);
if (environment != null && inetUtils != null) {
String identify = generate(environment, inetUtils);
return identify;
}
- ThreadUtil.sleep(500);
+ ThreadUtil.sleep(SLEEP_TIME);
}
- return IDENTIFY;
+ return identify;
}
/**
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/SystemClock.java b/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/SystemClock.java
index bae6996c..550959db 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/SystemClock.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/SystemClock.java
@@ -25,7 +25,7 @@ import java.util.concurrent.atomic.AtomicLong;
* System clock.
* Refer to cn.hutool.core.date.SystemClock
*/
-public class SystemClock {
+public final class SystemClock {
/**
* Period
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/inet/InetUtils.java b/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/inet/InetUtils.java
index 5b933523..53a78730 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/inet/InetUtils.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/inet/InetUtils.java
@@ -168,7 +168,7 @@ public class InetUtils implements Closeable {
/**
* Should override the host info.
*/
- public boolean override;
+ private boolean override;
private String ipAddress;
diff --git a/threadpool/core/src/test/java/cn/hippo4j/core/plugin/impl/TaskTimeRecordPluginTest.java b/threadpool/core/src/test/java/cn/hippo4j/core/plugin/impl/TaskTimeRecordPluginTest.java
index 88939bc1..391a1169 100644
--- a/threadpool/core/src/test/java/cn/hippo4j/core/plugin/impl/TaskTimeRecordPluginTest.java
+++ b/threadpool/core/src/test/java/cn/hippo4j/core/plugin/impl/TaskTimeRecordPluginTest.java
@@ -80,4 +80,24 @@ public class TaskTimeRecordPluginTest {
return exceptLower < actual && actual < exceptUpper;
}
+ @Test
+ public void testTableSizeFor() {
+ int maxCap = 1 << 30;
+ for (int i = 0; i <= maxCap; i++) {
+ int tabSize1 = tabSizeFor_JDK8(i);
+ int tabSize2 = TaskTimeRecordPlugin.tableSizeFor(i);
+ Assert.assertTrue(tabSize1 == tabSize2);
+ }
+ }
+
+ private static int tabSizeFor_JDK8(int cap) {
+ int n = cap - 1;
+ n |= n >>> 1;
+ n |= n >>> 2;
+ n |= n >>> 4;
+ n |= n >>> 8;
+ n |= n >>> 16;
+ return (n < 0) ? 1 : (n >= 1073741824) ? 1073741824 : n + 1;
+ }
+
}
From ea19be3cb8b59fcaaf846b4a333f124e2c2ab8c4 Mon Sep 17 00:00:00 2001
From: Dmego
Date: Wed, 17 May 2023 12:46:52 +0800
Subject: [PATCH 7/9] optimize: fix StyleCheck errors for hippo4j (#1291)
* optimize: fix StyleCheck errors for hippo4j
* ignore TypeName error
---
.../apollo/boot/ApolloPluginBootService.java | 3 +
.../apollo/define/ApolloInstrumentation.java | 3 +
.../DefaultConfigConstructorInterceptor.java | 3 +
...ynamicThreadPoolChangeHandlerSpring1x.java | 3 +
...tPublishingRunListenerInstrumentation.java | 3 +
.../EventPublishingFinishedInterceptor.java | 3 +
...ynamicThreadPoolChangeHandlerSpring2x.java | 3 +
...tPublishingRunListenerInstrumentation.java | 3 +
.../EventPublishingStartedInterceptor.java | 3 +
.../spring/common/conf/SpringBootConfig.java | 19 +++++-
...istenerEnvironmentPreparedInterceptor.java | 3 +
...tDynamicThreadPoolChangeHandlerSpring.java | 3 +
...IDynamicThreadPoolChangeHandlerSpring.java | 3 +
.../support/SpringEnvironmentSupport.java | 3 +
.../support/SpringPropertiesLoader.java | 3 +
.../SpringThreadPoolRegisterSupport.java | 6 +-
.../ThreadPoolExecutorInstrumentation.java | 3 +
...lExecutorConstructorMethodInterceptor.java | 9 ++-
checkstyle/hippo4j_checkstyle_suppression.xml | 1 +
...gApolloSpringBoot1xExampleApplication.java | 3 +
.../ConfigApolloExampleApplication.java | 3 +
.../ConfigConsulExampleApplication.java | 3 +
.../etcd/controller/TestController.java | 4 +-
...igNacosSpringBoot15ExampleApplication.java | 3 +
.../nacos/ConfigNacosExampleApplication.java | 3 +
.../ConfigZookeeperExampleApplication.java | 3 +
.../core/config/DynamicThreadPoolConfig.java | 21 +++++--
.../ErrorLogRejectedExecutionHandler.java | 7 ++-
.../core/inittest/AlarmSendMessageTest.java | 8 ++-
.../RegisterDynamicThreadPoolTest.java | 22 ++++---
.../core/inittest/RunStateHandlerTest.java | 16 +++--
.../core/inittest/TaskDecoratorTest.java | 7 ++-
.../adapter/kafka/example/MessageProduce.java | 6 +-
.../ServerAdapterKafkaExampleApplication.java | 3 +
...rverAdapterRabbitMQExampleApplication.java | 3 +
.../config/RabbitMQThreadPoolConfig.java | 16 +++--
.../example/constants/SimpleMQConstant.java | 4 +-
...rverAdapterRocketMQExampleApplication.java | 3 +
.../rabbitmq/example/MessageProduce.java | 4 +-
...rSpringCloudStreamRabbitMQApplication.java | 3 +
.../rocketmq/example/MessageConsume.java | 2 +
.../rocketmq/example/MessageProduce.java | 9 ++-
...rSpringCloudStreamRocketMQApplication.java | 3 +
.../ServerEsMonitorExampleApplication.java | 3 +
.../server/ServerExampleApplication.java | 3 +
.../common/constant/MagicNumberConstants.java | 32 ++++++++++
.../WebThreadPoolHandlerConfiguration1x.java | 3 +
.../config/ConfigHandlerConfiguration.java | 21 +++++++
.../notify/ConfigModeNotifyConfigBuilder.java | 4 +-
.../starter/parser/ConfigParserHandler.java | 5 +-
.../refresher/ConsulRefresherHandler.java | 4 +-
.../refresher/EtcdRefresherHandler.java | 2 +-
.../refresher/ZookeeperRefresherHandler.java | 14 +++--
.../event/AbstractRefreshListener.java | 2 +-
.../AdapterExecutorsRefreshListener.java | 4 +-
...Hippo4jConfigDynamicRefreshEventOrder.java | 10 ++--
.../DynamicThreadPoolPostProcessor.java | 23 +++++---
.../hippo4j/config/config/CommonConfig.java | 8 ++-
.../config/ServerBootstrapProperties.java | 2 +-
.../config/event/LocalDataChangeEvent.java | 7 ++-
.../config/mapper/HisRunDataMapper.java | 3 +
.../cn/hippo4j/config/model/CacheItem.java | 8 +--
.../threadpool/ConfigModifySaveReqDTO.java | 3 +
.../threadpool/ConfigModifyVerifyReqDTO.java | 2 -
.../config/notify/DefaultPublisher.java | 14 +++--
.../hippo4j/config/notify/NotifyCenter.java | 22 +++----
.../config/service/ConfigCacheService.java | 58 +++++++++++--------
.../config/service/LongPollingService.java | 41 ++++++++-----
.../service/ThreadPoolAdapterService.java | 3 +
.../service/biz/impl/ConfigServiceImpl.java | 52 +++++++++++------
.../biz/impl/HisRunDataServiceImpl.java | 14 +++--
.../cn/hippo4j/config/toolkit/EnvUtil.java | 21 ++++---
.../hippo4j/config/toolkit/Md5ConfigUtil.java | 21 +++++--
.../config/toolkit/SimpleReadWriteLock.java | 4 +-
.../config/toolkit/SingletonRepository.java | 10 +++-
.../event/LocalDataChangeEventTest.java | 4 +-
.../controller/ThreadPoolController.java | 2 +-
77 files changed, 492 insertions(+), 176 deletions(-)
create mode 100644 infra/common/src/main/java/cn/hippo4j/common/constant/MagicNumberConstants.java
diff --git a/agents/threadpool/hippo4j-agent-plugin/apollo-plugin/src/main/java/cn/hippo4j/agent/plugin/apollo/boot/ApolloPluginBootService.java b/agents/threadpool/hippo4j-agent-plugin/apollo-plugin/src/main/java/cn/hippo4j/agent/plugin/apollo/boot/ApolloPluginBootService.java
index 9ad1dd0f..20d7551f 100644
--- a/agents/threadpool/hippo4j-agent-plugin/apollo-plugin/src/main/java/cn/hippo4j/agent/plugin/apollo/boot/ApolloPluginBootService.java
+++ b/agents/threadpool/hippo4j-agent-plugin/apollo-plugin/src/main/java/cn/hippo4j/agent/plugin/apollo/boot/ApolloPluginBootService.java
@@ -20,6 +20,9 @@ package cn.hippo4j.agent.plugin.apollo.boot;
import cn.hippo4j.agent.core.boot.BootService;
import cn.hippo4j.agent.core.boot.DefaultImplementor;
+/**
+ * Apollo plugin boot service
+ */
@DefaultImplementor
public class ApolloPluginBootService implements BootService {
diff --git a/agents/threadpool/hippo4j-agent-plugin/apollo-plugin/src/main/java/cn/hippo4j/agent/plugin/apollo/define/ApolloInstrumentation.java b/agents/threadpool/hippo4j-agent-plugin/apollo-plugin/src/main/java/cn/hippo4j/agent/plugin/apollo/define/ApolloInstrumentation.java
index 8f139aeb..bdf9caaa 100644
--- a/agents/threadpool/hippo4j-agent-plugin/apollo-plugin/src/main/java/cn/hippo4j/agent/plugin/apollo/define/ApolloInstrumentation.java
+++ b/agents/threadpool/hippo4j-agent-plugin/apollo-plugin/src/main/java/cn/hippo4j/agent/plugin/apollo/define/ApolloInstrumentation.java
@@ -27,6 +27,9 @@ import net.bytebuddy.matcher.ElementMatcher;
import static net.bytebuddy.matcher.ElementMatchers.any;
+/**
+ * Apollo instrumentation
+ */
public class ApolloInstrumentation extends ClassInstanceMethodsEnhancePluginDefine {
private static final String ENHANCE_CLASS = "com.ctrip.framework.apollo.internals.DefaultConfig";
diff --git a/agents/threadpool/hippo4j-agent-plugin/apollo-plugin/src/main/java/cn/hippo4j/agent/plugin/apollo/interceptor/DefaultConfigConstructorInterceptor.java b/agents/threadpool/hippo4j-agent-plugin/apollo-plugin/src/main/java/cn/hippo4j/agent/plugin/apollo/interceptor/DefaultConfigConstructorInterceptor.java
index f316cdf4..e21049a6 100644
--- a/agents/threadpool/hippo4j-agent-plugin/apollo-plugin/src/main/java/cn/hippo4j/agent/plugin/apollo/interceptor/DefaultConfigConstructorInterceptor.java
+++ b/agents/threadpool/hippo4j-agent-plugin/apollo-plugin/src/main/java/cn/hippo4j/agent/plugin/apollo/interceptor/DefaultConfigConstructorInterceptor.java
@@ -20,6 +20,9 @@ package cn.hippo4j.agent.plugin.apollo.interceptor;
import cn.hippo4j.agent.core.plugin.interceptor.enhance.EnhancedInstance;
import cn.hippo4j.agent.core.plugin.interceptor.enhance.InstanceConstructorInterceptor;
+/**
+ * Default config constructor interceptor
+ */
public class DefaultConfigConstructorInterceptor implements InstanceConstructorInterceptor {
@Override
diff --git a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-1.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v1/DynamicThreadPoolChangeHandlerSpring1x.java b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-1.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v1/DynamicThreadPoolChangeHandlerSpring1x.java
index 3c332819..96f1139b 100644
--- a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-1.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v1/DynamicThreadPoolChangeHandlerSpring1x.java
+++ b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-1.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v1/DynamicThreadPoolChangeHandlerSpring1x.java
@@ -36,6 +36,9 @@ import java.util.Set;
import static cn.hippo4j.config.springboot1x.starter.refresher.SpringBoot1xBootstrapConfigPropertiesBinderAdapt.getNames;
+/**
+ * Dynamic thread pool change handler spring 1x
+ */
public class DynamicThreadPoolChangeHandlerSpring1x extends AbstractDynamicThreadPoolChangeHandlerSpring {
public DynamicThreadPoolChangeHandlerSpring1x(ConfigurableApplicationContext context) {
diff --git a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-1.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v1/define/EventPublishingRunListenerInstrumentation.java b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-1.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v1/define/EventPublishingRunListenerInstrumentation.java
index e8f5d73f..e918b90d 100644
--- a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-1.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v1/define/EventPublishingRunListenerInstrumentation.java
+++ b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-1.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v1/define/EventPublishingRunListenerInstrumentation.java
@@ -27,6 +27,9 @@ import net.bytebuddy.matcher.ElementMatcher;
import static net.bytebuddy.matcher.ElementMatchers.named;
import static cn.hippo4j.agent.core.plugin.match.NameMatch.byName;
+/**
+ * Event publishing run listener instrumentation
+ */
public class EventPublishingRunListenerInstrumentation extends ClassInstanceMethodsEnhancePluginDefine {
private static final String ENHANCE_CLASS = "org.springframework.boot.context.event.EventPublishingRunListener";
diff --git a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-1.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v1/interceptor/EventPublishingFinishedInterceptor.java b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-1.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v1/interceptor/EventPublishingFinishedInterceptor.java
index 1ab39c2e..8b3bd59d 100644
--- a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-1.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v1/interceptor/EventPublishingFinishedInterceptor.java
+++ b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-1.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v1/interceptor/EventPublishingFinishedInterceptor.java
@@ -32,6 +32,9 @@ import org.springframework.context.ConfigurableApplicationContext;
import java.lang.reflect.Method;
+/**
+ * Event publishing finished interceptor
+ */
public class EventPublishingFinishedInterceptor implements InstanceMethodsAroundInterceptor {
private static final ILog FILE_LOGGER = LogManager.getLogger(EventPublishingFinishedInterceptor.class);
diff --git a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-2.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v2/DynamicThreadPoolChangeHandlerSpring2x.java b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-2.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v2/DynamicThreadPoolChangeHandlerSpring2x.java
index 98becdb8..6c8f96c2 100644
--- a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-2.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v2/DynamicThreadPoolChangeHandlerSpring2x.java
+++ b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-2.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v2/DynamicThreadPoolChangeHandlerSpring2x.java
@@ -28,6 +28,9 @@ import org.springframework.context.ConfigurableApplicationContext;
import java.util.Map;
+/**
+ * Dynamic thread pool change handler spring 2x
+ */
public class DynamicThreadPoolChangeHandlerSpring2x extends AbstractDynamicThreadPoolChangeHandlerSpring {
public DynamicThreadPoolChangeHandlerSpring2x(ConfigurableApplicationContext context) {
diff --git a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-2.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v2/define/EventPublishingRunListenerInstrumentation.java b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-2.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v2/define/EventPublishingRunListenerInstrumentation.java
index 56c60d5a..d341f00c 100644
--- a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-2.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v2/define/EventPublishingRunListenerInstrumentation.java
+++ b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-2.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v2/define/EventPublishingRunListenerInstrumentation.java
@@ -27,6 +27,9 @@ import net.bytebuddy.matcher.ElementMatcher;
import static net.bytebuddy.matcher.ElementMatchers.named;
import static cn.hippo4j.agent.core.plugin.match.NameMatch.byName;
+/**
+ * Event publishing run listener instrumentation
+ */
public class EventPublishingRunListenerInstrumentation extends ClassInstanceMethodsEnhancePluginDefine {
private static final String ENHANCE_CLASS = "org.springframework.boot.context.event.EventPublishingRunListener";
diff --git a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-2.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v2/interceptor/EventPublishingStartedInterceptor.java b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-2.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v2/interceptor/EventPublishingStartedInterceptor.java
index 1c782722..2f3803fd 100644
--- a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-2.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v2/interceptor/EventPublishingStartedInterceptor.java
+++ b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-boot-2.x-plugin/src/main/java/cn/hippo4j/agent/plugin/spring/boot/v2/interceptor/EventPublishingStartedInterceptor.java
@@ -30,6 +30,9 @@ import org.springframework.context.ConfigurableApplicationContext;
import java.lang.reflect.Method;
+/**
+ * Event publishing started interceptor
+ */
public class EventPublishingStartedInterceptor implements InstanceMethodsAroundInterceptor {
private static final ILog LOGGER = LogManager.getLogger(EventPublishingStartedInterceptor.class);
diff --git a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/conf/SpringBootConfig.java b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/conf/SpringBootConfig.java
index 883cddb3..e4a16126 100644
--- a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/conf/SpringBootConfig.java
+++ b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/conf/SpringBootConfig.java
@@ -22,22 +22,37 @@ import cn.hippo4j.agent.core.boot.SpringBootConfigNode;
import java.util.Arrays;
import java.util.List;
+/**
+ * Spring boot config
+ */
public class SpringBootConfig {
+ /**
+ * Spring
+ */
public static class Spring {
+ /**
+ * Dynamic
+ */
public static class Dynamic {
+ /**
+ * ThreadPool
+ */
@SpringBootConfigNode(root = SpringBootConfig.class)
public static class Thread_Pool {
+ /**
+ * Apollo
+ */
@SpringBootConfigNode(root = SpringBootConfig.class)
public static class Apollo {
- public static List NAMESPACE = Arrays.asList("application");
+ public static final List NAMESPACE = Arrays.asList("application");
}
- public static String CONFIG_FILE_TYPE;
+ public static final String CONFIG_FILE_TYPE = null;
}
}
}
diff --git a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/interceptor/EventPublishingRunListenerEnvironmentPreparedInterceptor.java b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/interceptor/EventPublishingRunListenerEnvironmentPreparedInterceptor.java
index 0ff2380c..2b70e22a 100644
--- a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/interceptor/EventPublishingRunListenerEnvironmentPreparedInterceptor.java
+++ b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/interceptor/EventPublishingRunListenerEnvironmentPreparedInterceptor.java
@@ -27,6 +27,9 @@ import org.springframework.core.env.ConfigurableEnvironment;
import java.lang.reflect.Method;
+/**
+ * Event publishing run listener environment prepared interceptor
+ */
public class EventPublishingRunListenerEnvironmentPreparedInterceptor implements InstanceMethodsAroundInterceptor {
private static final Logger LOGGER = LoggerFactory.getLogger(EventPublishingRunListenerEnvironmentPreparedInterceptor.class);
diff --git a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/support/AbstractDynamicThreadPoolChangeHandlerSpring.java b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/support/AbstractDynamicThreadPoolChangeHandlerSpring.java
index 6db57f2c..6766c194 100644
--- a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/support/AbstractDynamicThreadPoolChangeHandlerSpring.java
+++ b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/support/AbstractDynamicThreadPoolChangeHandlerSpring.java
@@ -56,6 +56,9 @@ import static cn.hippo4j.agent.core.conf.Constants.SPRING_BOOT_CONFIG_PREFIX;
import static cn.hippo4j.common.constant.ChangeThreadPoolConstants.CHANGE_DELIMITER;
import static cn.hippo4j.common.constant.ChangeThreadPoolConstants.CHANGE_THREAD_POOL_TEXT;
+/**
+ * Abstract dynamic thread poo change handler spring
+ */
public abstract class AbstractDynamicThreadPoolChangeHandlerSpring implements IDynamicThreadPoolChangeHandlerSpring {
private static final Logger LOGGER = LoggerFactory.getLogger(AbstractDynamicThreadPoolChangeHandlerSpring.class);
diff --git a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/support/IDynamicThreadPoolChangeHandlerSpring.java b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/support/IDynamicThreadPoolChangeHandlerSpring.java
index 5aebf5a3..75eeab4a 100644
--- a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/support/IDynamicThreadPoolChangeHandlerSpring.java
+++ b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/support/IDynamicThreadPoolChangeHandlerSpring.java
@@ -17,6 +17,9 @@
package cn.hippo4j.agent.plugin.spring.common.support;
+/**
+ * IDynamic thread pool change handler spring
+ */
public interface IDynamicThreadPoolChangeHandlerSpring {
void registerApolloConfigHandler();
diff --git a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/support/SpringEnvironmentSupport.java b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/support/SpringEnvironmentSupport.java
index e0e10bf8..4733acdc 100644
--- a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/support/SpringEnvironmentSupport.java
+++ b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/support/SpringEnvironmentSupport.java
@@ -23,6 +23,9 @@ import org.springframework.core.env.MapPropertySource;
import java.util.HashMap;
import java.util.Map;
+/**
+ * Spring environment support
+ */
public class SpringEnvironmentSupport {
public static void disableNonAgentSwitch(ConfigurableEnvironment environment) {
diff --git a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/support/SpringPropertiesLoader.java b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/support/SpringPropertiesLoader.java
index 822f7022..bebfb843 100644
--- a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/support/SpringPropertiesLoader.java
+++ b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/support/SpringPropertiesLoader.java
@@ -29,6 +29,9 @@ import java.util.Iterator;
import java.util.List;
import java.util.Properties;
+/**
+ * Spring properties loader
+ */
public class SpringPropertiesLoader {
private static final ILog LOGGER = LogManager.getLogger(SpringPropertiesLoader.class);
diff --git a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/support/SpringThreadPoolRegisterSupport.java b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/support/SpringThreadPoolRegisterSupport.java
index bde71b97..d54f901d 100644
--- a/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/support/SpringThreadPoolRegisterSupport.java
+++ b/agents/threadpool/hippo4j-agent-plugin/spring-plugins/spring-plugin-common/src/main/java/cn/hippo4j/agent/plugin/spring/common/support/SpringThreadPoolRegisterSupport.java
@@ -20,6 +20,7 @@ package cn.hippo4j.agent.plugin.spring.common.support;
import cn.hippo4j.agent.core.registry.AgentThreadPoolInstanceRegistry;
import cn.hippo4j.agent.core.util.ReflectUtil;
import cn.hippo4j.agent.core.util.ThreadPoolPropertyKey;
+import cn.hippo4j.common.constant.Constants;
import cn.hippo4j.common.executor.support.BlockingQueueTypeEnum;
import cn.hippo4j.common.executor.support.RejectedPolicyTypeEnum;
import cn.hippo4j.common.toolkit.BooleanUtil;
@@ -33,6 +34,9 @@ import java.util.Properties;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
+/**
+ * Spring thread pool register support
+ */
public class SpringThreadPoolRegisterSupport {
private static final Logger LOGGER = LoggerFactory.getLogger(SpringThreadPoolRegisterSupport.class);
@@ -71,7 +75,7 @@ public class SpringThreadPoolRegisterSupport {
properties.put(ThreadPoolPropertyKey.QUEUE_CAPACITY, executor.getQueue().remainingCapacity());
properties.put(ThreadPoolPropertyKey.THREAD_NAME_PREFIX, threadPoolId);
properties.put(ThreadPoolPropertyKey.REJECTED_HANDLER, RejectedPolicyTypeEnum.getRejectedPolicyTypeEnumByName(executor.getRejectedExecutionHandler().getClass().getSimpleName()).getName());
- properties.put(ThreadPoolPropertyKey.EXECUTE_TIME_OUT, 10000L);
+ properties.put(ThreadPoolPropertyKey.EXECUTE_TIME_OUT, Constants.EXECUTE_TIME_OUT);
// register executor.
AgentThreadPoolInstanceRegistry.getInstance().putHolder(threadPoolId, executor, properties);
diff --git a/agents/threadpool/hippo4j-agent-plugin/thread-pool-plugin/src/main/java/cn/hippo4j/agent/plugin/thread/pool/define/ThreadPoolExecutorInstrumentation.java b/agents/threadpool/hippo4j-agent-plugin/thread-pool-plugin/src/main/java/cn/hippo4j/agent/plugin/thread/pool/define/ThreadPoolExecutorInstrumentation.java
index 3c1534b5..0480cdc7 100644
--- a/agents/threadpool/hippo4j-agent-plugin/thread-pool-plugin/src/main/java/cn/hippo4j/agent/plugin/thread/pool/define/ThreadPoolExecutorInstrumentation.java
+++ b/agents/threadpool/hippo4j-agent-plugin/thread-pool-plugin/src/main/java/cn/hippo4j/agent/plugin/thread/pool/define/ThreadPoolExecutorInstrumentation.java
@@ -27,6 +27,9 @@ import net.bytebuddy.matcher.ElementMatcher;
import static net.bytebuddy.matcher.ElementMatchers.takesArguments;
+/**
+ * Thread pool executor instrumentation
+ */
public class ThreadPoolExecutorInstrumentation extends ClassInstanceMethodsEnhancePluginDefine {
private static final String ENHANCE_CLASS = "java.util.concurrent.ThreadPoolExecutor";
diff --git a/agents/threadpool/hippo4j-agent-plugin/thread-pool-plugin/src/main/java/cn/hippo4j/agent/plugin/thread/pool/interceptor/ThreadPoolExecutorConstructorMethodInterceptor.java b/agents/threadpool/hippo4j-agent-plugin/thread-pool-plugin/src/main/java/cn/hippo4j/agent/plugin/thread/pool/interceptor/ThreadPoolExecutorConstructorMethodInterceptor.java
index 6c48b311..2061071a 100644
--- a/agents/threadpool/hippo4j-agent-plugin/thread-pool-plugin/src/main/java/cn/hippo4j/agent/plugin/thread/pool/interceptor/ThreadPoolExecutorConstructorMethodInterceptor.java
+++ b/agents/threadpool/hippo4j-agent-plugin/thread-pool-plugin/src/main/java/cn/hippo4j/agent/plugin/thread/pool/interceptor/ThreadPoolExecutorConstructorMethodInterceptor.java
@@ -31,12 +31,17 @@ import java.util.Collections;
import java.util.List;
import java.util.concurrent.ThreadPoolExecutor;
+/**
+ * Thread pool executor constructor method interceptor
+ */
public class ThreadPoolExecutorConstructorMethodInterceptor implements InstanceConstructorInterceptor {
private static final ILog LOGGER = LogManager.getLogger(ThreadPoolExecutorConstructorMethodInterceptor.class);
private static final List EXCLUDE_STACK_TRACE_ELEMENT_CLASS_PREFIX = Arrays.asList("java", "cn.hippo4j.agent");
+ private static final int INITIAL_CAPACITY = 3;
+
@Override
public void onConstruct(EnhancedInstance objInst, Object[] allArguments) throws Throwable {
@@ -64,8 +69,8 @@ public class ThreadPoolExecutorConstructorMethodInterceptor implements InstanceC
}
}
- List result = new ArrayList<>(3); // Find up to three layers
- for (int j = 0; i < stackTraceElements.length && j < 3; i++, j++) {
+ List result = new ArrayList<>(INITIAL_CAPACITY); // Find up to three layers
+ for (int j = 0; i < stackTraceElements.length && j < INITIAL_CAPACITY; i++, j++) {
String fullClassName = stackTraceElements[i].getClassName();
if (isExcludeThreadPoolClass(fullClassName)) {
break;
diff --git a/checkstyle/hippo4j_checkstyle_suppression.xml b/checkstyle/hippo4j_checkstyle_suppression.xml
index 765a781b..39de4153 100644
--- a/checkstyle/hippo4j_checkstyle_suppression.xml
+++ b/checkstyle/hippo4j_checkstyle_suppression.xml
@@ -29,4 +29,5 @@
+
diff --git a/examples/threadpool-example/config/config-apollo-spring-boot-1x/src/main/java/cn/hippo4j/example/config/apollo/ConfigApolloSpringBoot1xExampleApplication.java b/examples/threadpool-example/config/config-apollo-spring-boot-1x/src/main/java/cn/hippo4j/example/config/apollo/ConfigApolloSpringBoot1xExampleApplication.java
index 8771b389..7c80e2b5 100644
--- a/examples/threadpool-example/config/config-apollo-spring-boot-1x/src/main/java/cn/hippo4j/example/config/apollo/ConfigApolloSpringBoot1xExampleApplication.java
+++ b/examples/threadpool-example/config/config-apollo-spring-boot-1x/src/main/java/cn/hippo4j/example/config/apollo/ConfigApolloSpringBoot1xExampleApplication.java
@@ -21,6 +21,9 @@ import cn.hippo4j.core.enable.EnableDynamicThreadPool;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+/**
+ * Config apollo spring boot 1x example application
+ */
@EnableDynamicThreadPool
@SpringBootApplication(scanBasePackages = "cn.hippo4j.example.core")
public class ConfigApolloSpringBoot1xExampleApplication {
diff --git a/examples/threadpool-example/config/config-apollo/src/main/java/cn/hippo4j/example/config/apollo/ConfigApolloExampleApplication.java b/examples/threadpool-example/config/config-apollo/src/main/java/cn/hippo4j/example/config/apollo/ConfigApolloExampleApplication.java
index 61eacb93..7fd9d1b3 100644
--- a/examples/threadpool-example/config/config-apollo/src/main/java/cn/hippo4j/example/config/apollo/ConfigApolloExampleApplication.java
+++ b/examples/threadpool-example/config/config-apollo/src/main/java/cn/hippo4j/example/config/apollo/ConfigApolloExampleApplication.java
@@ -21,6 +21,9 @@ import cn.hippo4j.core.enable.EnableDynamicThreadPool;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+/**
+ * Config apollo example application
+ */
@EnableDynamicThreadPool
@SpringBootApplication(scanBasePackages = "cn.hippo4j.example.core")
public class ConfigApolloExampleApplication {
diff --git a/examples/threadpool-example/config/config-consul-spring-boot/src/main/java/cn/hippo4j/example/config/consul/ConfigConsulExampleApplication.java b/examples/threadpool-example/config/config-consul-spring-boot/src/main/java/cn/hippo4j/example/config/consul/ConfigConsulExampleApplication.java
index 550acd64..e1519933 100644
--- a/examples/threadpool-example/config/config-consul-spring-boot/src/main/java/cn/hippo4j/example/config/consul/ConfigConsulExampleApplication.java
+++ b/examples/threadpool-example/config/config-consul-spring-boot/src/main/java/cn/hippo4j/example/config/consul/ConfigConsulExampleApplication.java
@@ -21,6 +21,9 @@ import cn.hippo4j.core.enable.EnableDynamicThreadPool;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+/**
+ * Config consul example application
+ */
@EnableDynamicThreadPool
@SpringBootApplication(scanBasePackages = "cn.hippo4j.example")
public class ConfigConsulExampleApplication {
diff --git a/examples/threadpool-example/config/config-etcd/src/main/java/cn/hippo4j/example/config/etcd/controller/TestController.java b/examples/threadpool-example/config/config-etcd/src/main/java/cn/hippo4j/example/config/etcd/controller/TestController.java
index e073fdb3..28646f5b 100644
--- a/examples/threadpool-example/config/config-etcd/src/main/java/cn/hippo4j/example/config/etcd/controller/TestController.java
+++ b/examples/threadpool-example/config/config-etcd/src/main/java/cn/hippo4j/example/config/etcd/controller/TestController.java
@@ -17,6 +17,7 @@
package cn.hippo4j.example.config.etcd.controller;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -29,6 +30,7 @@ import java.util.concurrent.ThreadPoolExecutor;
* @date : 2022/9/2 19:18
* @description:
*/
+@Slf4j
@RestController
@RequestMapping
public class TestController {
@@ -38,6 +40,6 @@ public class TestController {
@GetMapping("test")
public void test() {
- System.out.println(messageConsumeDynamicExecutor.getMaximumPoolSize());
+ log.info(String.valueOf(messageConsumeDynamicExecutor.getMaximumPoolSize()));
}
}
diff --git a/examples/threadpool-example/config/config-nacos-spring-boot-1x/src/main/java/cn/hippo4j/example/config/nacos/ConfigNacosSpringBoot15ExampleApplication.java b/examples/threadpool-example/config/config-nacos-spring-boot-1x/src/main/java/cn/hippo4j/example/config/nacos/ConfigNacosSpringBoot15ExampleApplication.java
index 6db043c1..c4f53b6f 100644
--- a/examples/threadpool-example/config/config-nacos-spring-boot-1x/src/main/java/cn/hippo4j/example/config/nacos/ConfigNacosSpringBoot15ExampleApplication.java
+++ b/examples/threadpool-example/config/config-nacos-spring-boot-1x/src/main/java/cn/hippo4j/example/config/nacos/ConfigNacosSpringBoot15ExampleApplication.java
@@ -21,6 +21,9 @@ import cn.hippo4j.core.enable.EnableDynamicThreadPool;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+/**
+ * Config nacos spring boot 1.5 example application
+ */
@EnableDynamicThreadPool
@SpringBootApplication(scanBasePackages = "cn.hippo4j.example.core")
public class ConfigNacosSpringBoot15ExampleApplication {
diff --git a/examples/threadpool-example/config/config-nacos/src/main/java/cn/hippo4j/example/config/nacos/ConfigNacosExampleApplication.java b/examples/threadpool-example/config/config-nacos/src/main/java/cn/hippo4j/example/config/nacos/ConfigNacosExampleApplication.java
index 47044563..fda32d1e 100644
--- a/examples/threadpool-example/config/config-nacos/src/main/java/cn/hippo4j/example/config/nacos/ConfigNacosExampleApplication.java
+++ b/examples/threadpool-example/config/config-nacos/src/main/java/cn/hippo4j/example/config/nacos/ConfigNacosExampleApplication.java
@@ -21,6 +21,9 @@ import cn.hippo4j.core.enable.EnableDynamicThreadPool;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+/**
+ * Config nacos example application
+ */
@EnableDynamicThreadPool
@SpringBootApplication(scanBasePackages = "cn.hippo4j.example.core")
public class ConfigNacosExampleApplication {
diff --git a/examples/threadpool-example/config/config-zookeeper/src/main/java/cn/hippo4j/example/config/zookeeper/ConfigZookeeperExampleApplication.java b/examples/threadpool-example/config/config-zookeeper/src/main/java/cn/hippo4j/example/config/zookeeper/ConfigZookeeperExampleApplication.java
index 5c5667fc..b019e46a 100644
--- a/examples/threadpool-example/config/config-zookeeper/src/main/java/cn/hippo4j/example/config/zookeeper/ConfigZookeeperExampleApplication.java
+++ b/examples/threadpool-example/config/config-zookeeper/src/main/java/cn/hippo4j/example/config/zookeeper/ConfigZookeeperExampleApplication.java
@@ -21,6 +21,9 @@ import cn.hippo4j.core.enable.EnableDynamicThreadPool;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+/**
+ * Config zookeeper example application
+ */
@EnableDynamicThreadPool
@SpringBootApplication(scanBasePackages = "cn.hippo4j.example.core")
public class ConfigZookeeperExampleApplication {
diff --git a/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/config/DynamicThreadPoolConfig.java b/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/config/DynamicThreadPoolConfig.java
index 9f21ddf7..11855427 100644
--- a/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/config/DynamicThreadPoolConfig.java
+++ b/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/config/DynamicThreadPoolConfig.java
@@ -50,6 +50,16 @@ public class DynamicThreadPoolConfig {
public static final ThreadPoolExecutor FIELD2 = new ThreadPoolExecutor(10, 20,
1000, TimeUnit.MILLISECONDS, new ArrayBlockingQueue<>(20));
+ private static final long EXECUTE_TIMEOUT = 800L;
+
+ private static final long AWAIT_TERMINATION_MILLIS = 5000L;
+
+ private static final int MAX_QUEUE_CAPACITY = 200;
+
+ private static final int CORE_POOL_SIZE = AVAILABLE_PROCESSORS * 2;
+
+ private static final int MAX_POOL_SIZE = AVAILABLE_PROCESSORS * 4;
+
@Bean
@DynamicThreadPool
public Executor messageConsumeTtlDynamicThreadPool() {
@@ -58,9 +68,9 @@ public class DynamicThreadPoolConfig {
.dynamicPool()
.threadFactory(threadPoolId)
.threadPoolId(threadPoolId)
- .executeTimeOut(800L)
+ .executeTimeOut(EXECUTE_TIMEOUT)
.waitForTasksToCompleteOnShutdown(true)
- .awaitTerminationMillis(5000L)
+ .awaitTerminationMillis(AWAIT_TERMINATION_MILLIS)
.taskDecorator(new TaskTraceBuilderHandler())
.build();
// Ali ttl adaptation use case.
@@ -86,10 +96,9 @@ public class DynamicThreadPoolConfig {
public ThreadPoolTaskExecutor testSpringThreadPoolTaskExecutor() {
ThreadPoolTaskExecutor threadPoolTaskExecutor = new ThreadPoolTaskExecutor();
threadPoolTaskExecutor.setThreadNamePrefix("test-spring-task-executor_");
- int maxQueueCapacity = 200;
- threadPoolTaskExecutor.setCorePoolSize(AVAILABLE_PROCESSORS * 2);
- threadPoolTaskExecutor.setMaxPoolSize(AVAILABLE_PROCESSORS * 4);
- threadPoolTaskExecutor.setQueueCapacity(maxQueueCapacity);
+ threadPoolTaskExecutor.setCorePoolSize(CORE_POOL_SIZE);
+ threadPoolTaskExecutor.setMaxPoolSize(MAX_POOL_SIZE);
+ threadPoolTaskExecutor.setQueueCapacity(MAX_QUEUE_CAPACITY);
threadPoolTaskExecutor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
threadPoolTaskExecutor.setTaskDecorator(new TaskDecoratorTest.ContextCopyingDecorator());
return threadPoolTaskExecutor;
diff --git a/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/handler/ErrorLogRejectedExecutionHandler.java b/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/handler/ErrorLogRejectedExecutionHandler.java
index cc5816d7..47fa7e18 100644
--- a/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/handler/ErrorLogRejectedExecutionHandler.java
+++ b/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/handler/ErrorLogRejectedExecutionHandler.java
@@ -29,9 +29,11 @@ import java.util.concurrent.ThreadPoolExecutor;
*/
public class ErrorLogRejectedExecutionHandler implements CustomRejectedExecutionHandler {
+ private static final int REJECTED_TYPE = 12;
+
@Override
public Integer getType() {
- return 12;
+ return REJECTED_TYPE;
}
@Override
@@ -39,6 +41,9 @@ public class ErrorLogRejectedExecutionHandler implements CustomRejectedExecution
return new CustomErrorLogRejectedExecutionHandler();
}
+ /**
+ * Custom Error Log Rejected Execution Handler
+ */
public static class CustomErrorLogRejectedExecutionHandler implements RejectedExecutionHandler {
@Override
diff --git a/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/inittest/AlarmSendMessageTest.java b/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/inittest/AlarmSendMessageTest.java
index a7ac1ec8..7d57ee65 100644
--- a/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/inittest/AlarmSendMessageTest.java
+++ b/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/inittest/AlarmSendMessageTest.java
@@ -35,6 +35,10 @@ import java.util.concurrent.TimeUnit;
@Component
public class AlarmSendMessageTest {
+ private static final int SLEEP_TIME = 10240124;
+
+ private static final int INITIAL_DELAY = 3;
+
/**
* Test alarm notification.
* If you need to run this single test, add @PostConstruct to the method.
@@ -48,7 +52,7 @@ public class AlarmSendMessageTest {
try {
poolExecutor.execute(() -> {
try {
- Thread.sleep(10240124);
+ Thread.sleep(SLEEP_TIME);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
@@ -56,6 +60,6 @@ public class AlarmSendMessageTest {
} catch (Exception ex) {
log.error("Throw reject policy.", ex.getMessage());
}
- }, 3, 1, TimeUnit.SECONDS);
+ }, INITIAL_DELAY, 1, TimeUnit.SECONDS);
}
}
diff --git a/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/inittest/RegisterDynamicThreadPoolTest.java b/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/inittest/RegisterDynamicThreadPoolTest.java
index b3e52549..79a815e0 100644
--- a/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/inittest/RegisterDynamicThreadPoolTest.java
+++ b/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/inittest/RegisterDynamicThreadPoolTest.java
@@ -35,33 +35,41 @@ import java.util.concurrent.ThreadPoolExecutor;
@Slf4j
public class RegisterDynamicThreadPoolTest {
+ private static final int CAPACITY = 1024;
+ private static final long KEEP_ALIVE_TIME = 1024L;
+ private static final long EXECUTE_TIMEOUT = 1024L;
+ private static final int CAPACITY_ALARM = 90;
+ private static final int ACTIVE_ALARM = 90;
+ private static final int CORE_NOTIFY_INTERVAL = 5;
+ private static final int SERVER_NOTIFY_INTERVAL = 10;
+
public static ThreadPoolExecutor registerDynamicThreadPool(String threadPoolId) {
DynamicThreadPoolRegisterParameter parameterInfo = DynamicThreadPoolRegisterParameter.builder()
.corePoolSize(1)
.maximumPoolSize(2)
.blockingQueueType(BlockingQueueTypeEnum.LINKED_BLOCKING_QUEUE)
- .capacity(1024)
+ .capacity(CAPACITY)
// TimeUnit.SECONDS
- .keepAliveTime(1024L)
+ .keepAliveTime(KEEP_ALIVE_TIME)
// TimeUnit.MILLISECONDS
- .executeTimeOut(1024L)
+ .executeTimeOut(EXECUTE_TIMEOUT)
.rejectedPolicyType(RejectedPolicyTypeEnum.DISCARD_POLICY)
.isAlarm(true)
.allowCoreThreadTimeOut(false)
- .capacityAlarm(90)
- .activeAlarm(90)
+ .capacityAlarm(CAPACITY_ALARM)
+ .activeAlarm(ACTIVE_ALARM)
.threadPoolId(threadPoolId)
.threadNamePrefix(threadPoolId)
.build();
// Core mode and server mode, you can choose one of them.
DynamicThreadPoolRegisterCoreNotifyParameter coreNotifyParameter = DynamicThreadPoolRegisterCoreNotifyParameter.builder()
.receives("chen.ma")
- .interval(5)
+ .interval(CORE_NOTIFY_INTERVAL)
.build();
DynamicThreadPoolRegisterServerNotifyParameter serverNotifyParameter = DynamicThreadPoolRegisterServerNotifyParameter.builder()
.platform(NotifyPlatformEnum.WECHAT.name())
.accessToken("7487d0a0-20ec-40ab-b67b-ce68db406b37")
- .interval(10)
+ .interval(SERVER_NOTIFY_INTERVAL)
.receives("chen.ma")
.build();
DynamicThreadPoolRegisterWrapper registerWrapper = DynamicThreadPoolRegisterWrapper.builder()
diff --git a/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/inittest/RunStateHandlerTest.java b/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/inittest/RunStateHandlerTest.java
index dc5747fb..df1bc329 100644
--- a/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/inittest/RunStateHandlerTest.java
+++ b/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/inittest/RunStateHandlerTest.java
@@ -44,6 +44,12 @@ public class RunStateHandlerTest {
@Resource
private ThreadPoolExecutor messageProduceDynamicThreadPool;
+ private static final int MAX_RANDOM = 10;
+ private static final int SLEEP_500 = 500;
+ private static final int SLEEP_1000 = 1000;
+ private static final int SLEEP_3000 = 3000;
+ private static final int SLEEP_5000 = 5000;
+
/*
* @Resource private ThreadPoolTaskExecutor testSpringThreadPoolTaskExecutor;
*/
@@ -82,7 +88,7 @@ public class RunStateHandlerTest {
*/
MDC.put(EXECUTE_TIMEOUT_TRACE, "39948722194639841.251.16612352194691531");
try {
- Thread.sleep(5000);
+ Thread.sleep(SLEEP_5000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
@@ -90,14 +96,14 @@ public class RunStateHandlerTest {
try {
executor.execute(() -> {
try {
- int maxRandom = 10;
+ int maxRandom = MAX_RANDOM;
int temp = 2;
Random random = new Random();
// Assignment thread pool completedTaskCount
if (random.nextInt(maxRandom) % temp == 0) {
- Thread.sleep(1000);
+ Thread.sleep(SLEEP_1000);
} else {
- Thread.sleep(3000);
+ Thread.sleep(SLEEP_3000);
}
} catch (InterruptedException ignored) {
}
@@ -105,7 +111,7 @@ public class RunStateHandlerTest {
} catch (Exception ignored) {
}
try {
- Thread.sleep(500);
+ Thread.sleep(SLEEP_500);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
diff --git a/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/inittest/TaskDecoratorTest.java b/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/inittest/TaskDecoratorTest.java
index 0d69bdcb..dedc14bc 100644
--- a/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/inittest/TaskDecoratorTest.java
+++ b/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/inittest/TaskDecoratorTest.java
@@ -38,6 +38,8 @@ public class TaskDecoratorTest {
public static final String PLACEHOLDER = "site";
+ private static final int SLEEP_TIME = 5000;
+
private final ThreadPoolExecutor taskDecoratorTestExecutor = new ThreadPoolExecutor(
1,
1,
@@ -60,7 +62,7 @@ public class TaskDecoratorTest {
taskDecoratorTestExecutor.execute(() -> {
MDC.put(PLACEHOLDER, "View the official website: https://www.hippo4j.cn");
try {
- Thread.sleep(5000);
+ Thread.sleep(SLEEP_TIME);
DynamicThreadPoolWrapper poolWrapper = GlobalThreadPoolManage.getExecutorService(GlobalTestConstant.MESSAGE_PRODUCE);
ThreadPoolExecutor threadPoolExecutor = poolWrapper.getExecutor();
threadPoolExecutor.execute(() -> log.info("Pass context via taskDecorator MDC: {}", MDC.get(PLACEHOLDER)));
@@ -70,6 +72,9 @@ public class TaskDecoratorTest {
});
}
+ /**
+ * Context Copying Decorator
+ */
public static class ContextCopyingDecorator implements TaskDecorator {
@Override
diff --git a/examples/threadpool-example/server/adapter-kafka/src/main/java/cn/hippo4j/springboot/starter/adapter/kafka/example/MessageProduce.java b/examples/threadpool-example/server/adapter-kafka/src/main/java/cn/hippo4j/springboot/starter/adapter/kafka/example/MessageProduce.java
index d910d9e1..133889d5 100644
--- a/examples/threadpool-example/server/adapter-kafka/src/main/java/cn/hippo4j/springboot/starter/adapter/kafka/example/MessageProduce.java
+++ b/examples/threadpool-example/server/adapter-kafka/src/main/java/cn/hippo4j/springboot/starter/adapter/kafka/example/MessageProduce.java
@@ -39,6 +39,8 @@ public class MessageProduce {
public static final String TOPIC = "test";
+ private static final int SLEEP_TIME = 3;
+
private final KafkaTemplate template;
@GetMapping("/message/send")
@@ -54,9 +56,9 @@ public class MessageProduce {
String message = UUID.randomUUID().toString();
template.send(TOPIC, "autoTestMessage " + message);
try {
- TimeUnit.SECONDS.sleep(3);
+ TimeUnit.SECONDS.sleep(SLEEP_TIME);
} catch (InterruptedException e) {
- e.printStackTrace();
+ log.error(e.getMessage());
}
}
});
diff --git a/examples/threadpool-example/server/adapter-kafka/src/main/java/cn/hippo4j/springboot/starter/adapter/kafka/example/ServerAdapterKafkaExampleApplication.java b/examples/threadpool-example/server/adapter-kafka/src/main/java/cn/hippo4j/springboot/starter/adapter/kafka/example/ServerAdapterKafkaExampleApplication.java
index 08e6f069..32987cb1 100644
--- a/examples/threadpool-example/server/adapter-kafka/src/main/java/cn/hippo4j/springboot/starter/adapter/kafka/example/ServerAdapterKafkaExampleApplication.java
+++ b/examples/threadpool-example/server/adapter-kafka/src/main/java/cn/hippo4j/springboot/starter/adapter/kafka/example/ServerAdapterKafkaExampleApplication.java
@@ -21,6 +21,9 @@ import cn.hippo4j.core.enable.EnableDynamicThreadPool;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+/**
+ * Server adapter kafka example application
+ */
@EnableDynamicThreadPool
@SpringBootApplication(scanBasePackages = {"cn.hippo4j.example.core", "cn.hippo4j.springboot.starter.adapter.kafka.example"})
public class ServerAdapterKafkaExampleApplication {
diff --git a/examples/threadpool-example/server/adapter-rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/rabbitmq/example/ServerAdapterRabbitMQExampleApplication.java b/examples/threadpool-example/server/adapter-rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/rabbitmq/example/ServerAdapterRabbitMQExampleApplication.java
index 49d40cc8..821ccbdd 100644
--- a/examples/threadpool-example/server/adapter-rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/rabbitmq/example/ServerAdapterRabbitMQExampleApplication.java
+++ b/examples/threadpool-example/server/adapter-rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/rabbitmq/example/ServerAdapterRabbitMQExampleApplication.java
@@ -21,6 +21,9 @@ import cn.hippo4j.core.enable.EnableDynamicThreadPool;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+/**
+ * Server Adapter RabbitMQ Example Application
+ */
@EnableDynamicThreadPool
@SpringBootApplication(scanBasePackages = {"cn.hippo4j.example.core", "cn.hippo4j.springboot.starter.adapter.rabbitmq.example"})
public class ServerAdapterRabbitMQExampleApplication {
diff --git a/examples/threadpool-example/server/adapter-rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/rabbitmq/example/config/RabbitMQThreadPoolConfig.java b/examples/threadpool-example/server/adapter-rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/rabbitmq/example/config/RabbitMQThreadPoolConfig.java
index d53d8f30..7eb4f6b4 100644
--- a/examples/threadpool-example/server/adapter-rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/rabbitmq/example/config/RabbitMQThreadPoolConfig.java
+++ b/examples/threadpool-example/server/adapter-rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/rabbitmq/example/config/RabbitMQThreadPoolConfig.java
@@ -31,15 +31,23 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
@Configuration
public class RabbitMQThreadPoolConfig {
+ private static final int MAX_POOL_SIZE = 5;
+
+ private static final int CORE_POOL_SIZE = 5;
+
+ private static final int QUEUE_CAPACITY = 1000;
+
+ private static final int CONSUMERS_PER_QUEUE = 10;
+
@Bean
public ThreadPoolTaskExecutor rabbitListenerTaskExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
// Specify the maximum number of threads.
- executor.setMaxPoolSize(5);
+ executor.setMaxPoolSize(MAX_POOL_SIZE);
// Specifies the minimum number of thread pool maintenance threads.
- executor.setCorePoolSize(5);
+ executor.setCorePoolSize(CORE_POOL_SIZE);
// Specifies the number of tasks waiting to be processed.
- executor.setQueueCapacity(1000);
+ executor.setQueueCapacity(QUEUE_CAPACITY);
executor.setThreadNamePrefix("RabbitListenerTaskExecutor-");
return executor;
}
@@ -50,7 +58,7 @@ public class RabbitMQThreadPoolConfig {
DirectRabbitListenerContainerFactory factory = new DirectRabbitListenerContainerFactory();
factory.setConnectionFactory(abstractConnectionFactory);
factory.setMessageConverter(messageConverter);
- factory.setConsumersPerQueue(10);
+ factory.setConsumersPerQueue(CONSUMERS_PER_QUEUE);
abstractConnectionFactory.setExecutor(rabbitListenerTaskExecutor);
return factory;
}
diff --git a/examples/threadpool-example/server/adapter-rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/rabbitmq/example/constants/SimpleMQConstant.java b/examples/threadpool-example/server/adapter-rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/rabbitmq/example/constants/SimpleMQConstant.java
index 3b3898a1..2d12c40b 100644
--- a/examples/threadpool-example/server/adapter-rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/rabbitmq/example/constants/SimpleMQConstant.java
+++ b/examples/threadpool-example/server/adapter-rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/rabbitmq/example/constants/SimpleMQConstant.java
@@ -20,7 +20,7 @@ package cn.hippo4j.springboot.starter.adapter.rabbitmq.example.constants;
/**
* Simple MQ constant.
*/
-public interface SimpleMQConstant {
+public class SimpleMQConstant {
- String QUEUE_NAME = "framework_message-center_queue";
+ public static final String QUEUE_NAME = "framework_message-center_queue";
}
diff --git a/examples/threadpool-example/server/adapter-rocketmq/src/main/java/cn/hippo4j/springboot/starter/adapter/rocketmq/example/ServerAdapterRocketMQExampleApplication.java b/examples/threadpool-example/server/adapter-rocketmq/src/main/java/cn/hippo4j/springboot/starter/adapter/rocketmq/example/ServerAdapterRocketMQExampleApplication.java
index 25aac473..f9daad69 100644
--- a/examples/threadpool-example/server/adapter-rocketmq/src/main/java/cn/hippo4j/springboot/starter/adapter/rocketmq/example/ServerAdapterRocketMQExampleApplication.java
+++ b/examples/threadpool-example/server/adapter-rocketmq/src/main/java/cn/hippo4j/springboot/starter/adapter/rocketmq/example/ServerAdapterRocketMQExampleApplication.java
@@ -21,6 +21,9 @@ import cn.hippo4j.core.enable.EnableDynamicThreadPool;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+/**
+ * Server adapter rocketMQ example application
+ */
@EnableDynamicThreadPool
@SpringBootApplication(scanBasePackages = {"cn.hippo4j.example.core", "cn.hippo4j.springboot.starter.adapter.rocketmq.example"})
public class ServerAdapterRocketMQExampleApplication {
diff --git a/examples/threadpool-example/server/adapter-stream-rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rabbitmq/example/MessageProduce.java b/examples/threadpool-example/server/adapter-stream-rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rabbitmq/example/MessageProduce.java
index eeb2953a..06d5f1f0 100644
--- a/examples/threadpool-example/server/adapter-stream-rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rabbitmq/example/MessageProduce.java
+++ b/examples/threadpool-example/server/adapter-stream-rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rabbitmq/example/MessageProduce.java
@@ -37,10 +37,12 @@ public class MessageProduce {
private final StreamBridge streamBridge;
+ private static final int MAX_SEND_SIZE = 10;
+
@GetMapping("/message/send")
public String sendMessage(@RequestParam(required = false) Integer maxSendSize) {
if (maxSendSize == null) {
- maxSendSize = 10;
+ maxSendSize = MAX_SEND_SIZE;
}
for (int i = 0; i < maxSendSize; i++) {
sendMessage0();
diff --git a/examples/threadpool-example/server/adapter-stream-rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rabbitmq/example/ServerAdapterSpringCloudStreamRabbitMQApplication.java b/examples/threadpool-example/server/adapter-stream-rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rabbitmq/example/ServerAdapterSpringCloudStreamRabbitMQApplication.java
index ee5fdad6..1f974800 100644
--- a/examples/threadpool-example/server/adapter-stream-rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rabbitmq/example/ServerAdapterSpringCloudStreamRabbitMQApplication.java
+++ b/examples/threadpool-example/server/adapter-stream-rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rabbitmq/example/ServerAdapterSpringCloudStreamRabbitMQApplication.java
@@ -29,6 +29,9 @@ import org.springframework.messaging.MessageHeaders;
import java.util.function.Consumer;
+/**
+ * Server Adapter Spring Cloud Stream RabbitMQ Application
+ */
@Slf4j
@EnableDynamicThreadPool
@SpringBootApplication
diff --git a/examples/threadpool-example/server/adapter-stream-rocketmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rocketmq/example/MessageConsume.java b/examples/threadpool-example/server/adapter-stream-rocketmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rocketmq/example/MessageConsume.java
index dd96a37e..9b546442 100644
--- a/examples/threadpool-example/server/adapter-stream-rocketmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rocketmq/example/MessageConsume.java
+++ b/examples/threadpool-example/server/adapter-stream-rocketmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rocketmq/example/MessageConsume.java
@@ -39,6 +39,7 @@ public class MessageConsume {
long startTime = System.currentTimeMillis();
try {
// ignore
+ log.info("Message: {}", JSONUtil.toJSONString(message));
} finally {
log.info("Keys: {}, Msg id: {}, Execute time: {} ms, Message: {}", headers.get("rocketmq_KEYS"), headers.get("rocketmq_MESSAGE_ID"), System.currentTimeMillis() - startTime,
JSONUtil.toJSONString(message));
@@ -51,6 +52,7 @@ public class MessageConsume {
long startTime = System.currentTimeMillis();
try {
// ignore
+ log.info("Message: {}", JSONUtil.toJSONString(message));
} finally {
log.info("Keys: {}, Msg id: {}, Execute time: {} ms, Message: {}", headers.get("rocketmq_KEYS"), headers.get("rocketmq_MESSAGE_ID"), System.currentTimeMillis() - startTime,
JSONUtil.toJSONString(message));
diff --git a/examples/threadpool-example/server/adapter-stream-rocketmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rocketmq/example/MessageProduce.java b/examples/threadpool-example/server/adapter-stream-rocketmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rocketmq/example/MessageProduce.java
index b7f9d590..6410eb5f 100644
--- a/examples/threadpool-example/server/adapter-stream-rocketmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rocketmq/example/MessageProduce.java
+++ b/examples/threadpool-example/server/adapter-stream-rocketmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rocketmq/example/MessageProduce.java
@@ -43,10 +43,13 @@ public class MessageProduce {
public static final String MESSAGE_CENTER_SAVE_MESSAGE_TAG = "framework_message-center_save-message_tag";
+ private static final int MAX_SEND_SIZE = 10;
+
+ private static final long SEND_TIMEOUT = 2000L;
+
@GetMapping("/message/send")
public String sendMessage() {
- int maxSendSize = 10;
- for (int i = 0; i < maxSendSize; i++) {
+ for (int i = 0; i < MAX_SEND_SIZE; i++) {
sendMessage(MESSAGE_CENTER_SEND_MESSAGE_TAG);
sendMessage(MESSAGE_CENTER_SAVE_MESSAGE_TAG);
}
@@ -67,7 +70,7 @@ public class MessageProduce {
long startTime = System.currentTimeMillis();
boolean sendResult = false;
try {
- sendResult = output.send(message, 2000L);
+ sendResult = output.send(message, SEND_TIMEOUT);
} finally {
log.info("Send status: {}, Keys: {}, Execute time: {} ms, Message: {}",
sendResult,
diff --git a/examples/threadpool-example/server/adapter-stream-rocketmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rocketmq/example/ServerAdapterSpringCloudStreamRocketMQApplication.java b/examples/threadpool-example/server/adapter-stream-rocketmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rocketmq/example/ServerAdapterSpringCloudStreamRocketMQApplication.java
index 9917c82a..79194b6f 100644
--- a/examples/threadpool-example/server/adapter-stream-rocketmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rocketmq/example/ServerAdapterSpringCloudStreamRocketMQApplication.java
+++ b/examples/threadpool-example/server/adapter-stream-rocketmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rocketmq/example/ServerAdapterSpringCloudStreamRocketMQApplication.java
@@ -24,6 +24,9 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.stream.annotation.EnableBinding;
import org.springframework.cloud.stream.messaging.Source;
+/**
+ * Server Adapter Spring Cloud Stream RocketMQ Application
+ */
@Slf4j
@EnableDynamicThreadPool
@EnableBinding({Source.class, MySink.class})
diff --git a/examples/threadpool-example/server/monitor-elasticsearch/src/main/java/cn/hippo4j/example/es/monitor/ServerEsMonitorExampleApplication.java b/examples/threadpool-example/server/monitor-elasticsearch/src/main/java/cn/hippo4j/example/es/monitor/ServerEsMonitorExampleApplication.java
index 0a5a1455..9f26765c 100644
--- a/examples/threadpool-example/server/monitor-elasticsearch/src/main/java/cn/hippo4j/example/es/monitor/ServerEsMonitorExampleApplication.java
+++ b/examples/threadpool-example/server/monitor-elasticsearch/src/main/java/cn/hippo4j/example/es/monitor/ServerEsMonitorExampleApplication.java
@@ -21,6 +21,9 @@ import cn.hippo4j.core.enable.EnableDynamicThreadPool;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+/**
+ * Server es monitor example application
+ */
@EnableDynamicThreadPool
@SpringBootApplication(scanBasePackages = {"cn.hippo4j.example.core", "cn.hippo4j.monitor"})
public class ServerEsMonitorExampleApplication {
diff --git a/examples/threadpool-example/server/server/src/main/java/cn/hippo4j/example/server/ServerExampleApplication.java b/examples/threadpool-example/server/server/src/main/java/cn/hippo4j/example/server/ServerExampleApplication.java
index ce9a3a6d..23d6ed17 100644
--- a/examples/threadpool-example/server/server/src/main/java/cn/hippo4j/example/server/ServerExampleApplication.java
+++ b/examples/threadpool-example/server/server/src/main/java/cn/hippo4j/example/server/ServerExampleApplication.java
@@ -21,6 +21,9 @@ import cn.hippo4j.core.enable.EnableDynamicThreadPool;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+/**
+ * Server Example Application
+ */
@EnableDynamicThreadPool
@SpringBootApplication(scanBasePackages = {"cn.hippo4j.example.core", "cn.hippo4j.example.server"})
public class ServerExampleApplication {
diff --git a/infra/common/src/main/java/cn/hippo4j/common/constant/MagicNumberConstants.java b/infra/common/src/main/java/cn/hippo4j/common/constant/MagicNumberConstants.java
new file mode 100644
index 00000000..fd0b5d18
--- /dev/null
+++ b/infra/common/src/main/java/cn/hippo4j/common/constant/MagicNumberConstants.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package cn.hippo4j.common.constant;
+
+public class MagicNumberConstants {
+
+ public static final int INDEX_0 = 0;
+
+ public static final int INDEX_1 = 1;
+
+ public static final int INDEX_2 = 2;
+
+ public static final int INDEX_3 = 3;
+
+ public static final int SIZE_4 = 4;
+
+}
diff --git a/starters/threadpool/config-spring-boot-1x/src/main/java/cn/hippo4j/config/springboot1x/starter/config/WebThreadPoolHandlerConfiguration1x.java b/starters/threadpool/config-spring-boot-1x/src/main/java/cn/hippo4j/config/springboot1x/starter/config/WebThreadPoolHandlerConfiguration1x.java
index 3340b3fc..80df456a 100644
--- a/starters/threadpool/config-spring-boot-1x/src/main/java/cn/hippo4j/config/springboot1x/starter/config/WebThreadPoolHandlerConfiguration1x.java
+++ b/starters/threadpool/config-spring-boot-1x/src/main/java/cn/hippo4j/config/springboot1x/starter/config/WebThreadPoolHandlerConfiguration1x.java
@@ -46,6 +46,9 @@ import javax.servlet.Servlet;
@AutoConfigureBefore(WebThreadPoolHandlerConfiguration.class)
public class WebThreadPoolHandlerConfiguration1x {
+ /**
+ * Embedded tomcat
+ */
@Configuration
@ConditionalOnClass({Servlet.class, Tomcat.class})
@ConditionalOnBean(WebThreadPoolRunStateHandler.class)
diff --git a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/config/ConfigHandlerConfiguration.java b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/config/ConfigHandlerConfiguration.java
index 1deac720..b9e60ad1 100644
--- a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/config/ConfigHandlerConfiguration.java
+++ b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/config/ConfigHandlerConfiguration.java
@@ -68,6 +68,9 @@ public class ConfigHandlerConfiguration {
return new DefaultBootstrapConfigPropertiesBinderAdapt();
}
+ /**
+ * Embedded Nacos
+ */
@RequiredArgsConstructor
@ConditionalOnClass(value = ConfigService.class, name = NACOS_INJECTED_BEAN_NAME)
@ConditionalOnMissingClass(NACOS_CONFIG_MANAGER_KEY)
@@ -80,6 +83,9 @@ public class ConfigHandlerConfiguration {
}
}
+ /**
+ * Embedded Nacos Cloud
+ */
@ConditionalOnClass(NacosConfigProperties.class)
@ConditionalOnProperty(prefix = BootstrapConfigProperties.PREFIX, name = NACOS_DATA_ID_KEY)
static class EmbeddedNacosCloud {
@@ -90,6 +96,9 @@ public class ConfigHandlerConfiguration {
}
}
+ /**
+ * Embedded Apollo
+ */
@ConditionalOnClass(com.ctrip.framework.apollo.ConfigService.class)
@ConditionalOnProperty(prefix = BootstrapConfigProperties.PREFIX, name = APOLLO_NAMESPACE_KEY)
static class EmbeddedApollo {
@@ -100,6 +109,9 @@ public class ConfigHandlerConfiguration {
}
}
+ /**
+ * Embedded Consul
+ */
@ConditionalOnClass(ConsulConfigProperties.class)
@ConditionalOnProperty(prefix = BootstrapConfigProperties.PREFIX, name = CONSUL_DATA_KEY)
static class EmbeddedConsul {
@@ -110,6 +122,9 @@ public class ConfigHandlerConfiguration {
}
}
+ /**
+ * Embedded Zookeeper
+ */
@ConditionalOnClass(CuratorFramework.class)
@ConditionalOnProperty(prefix = BootstrapConfigProperties.PREFIX, name = ZOOKEEPER_CONNECT_STR_KEY)
static class EmbeddedZookeeper {
@@ -120,6 +135,9 @@ public class ConfigHandlerConfiguration {
}
}
+ /**
+ * Embedded Etcd
+ */
@ConditionalOnClass(Client.class)
@ConditionalOnProperty(prefix = BootstrapConfigProperties.PREFIX, name = ETCD)
static class EmbeddedEtcd {
@@ -130,6 +148,9 @@ public class ConfigHandlerConfiguration {
}
}
+ /**
+ * Polaris
+ */
@ConditionalOnClass(ConfigFileService.class)
@ConditionalOnProperty(prefix = BootstrapConfigProperties.PREFIX, name = POLARIS)
static class Polaris {
diff --git a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/notify/ConfigModeNotifyConfigBuilder.java b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/notify/ConfigModeNotifyConfigBuilder.java
index b12ab6ed..d8526557 100644
--- a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/notify/ConfigModeNotifyConfigBuilder.java
+++ b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/notify/ConfigModeNotifyConfigBuilder.java
@@ -53,6 +53,8 @@ public class ConfigModeNotifyConfigBuilder implements NotifyConfigBuilder {
private final WebThreadPoolService webThreadPoolService;
+ private static final int DEFAULT_INTERVAL = 5;
+
@Override
public Map> buildNotify() {
Map> resultMap = new HashMap<>();
@@ -145,7 +147,7 @@ public class ConfigModeNotifyConfigBuilder implements NotifyConfigBuilder {
.orElse(Optional.ofNullable(configProperties.getDefaultExecutor())
.map(ExecutorProperties::getNotify)
.map(ExecutorNotifyProperties::getInterval)
- .orElse(5));
+ .orElse(DEFAULT_INTERVAL));
}
private String buildReceive(IExecutorProperties executorProperties) {
diff --git a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/parser/ConfigParserHandler.java b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/parser/ConfigParserHandler.java
index 3b34bf25..93d394b3 100644
--- a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/parser/ConfigParserHandler.java
+++ b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/parser/ConfigParserHandler.java
@@ -27,7 +27,7 @@ import java.util.ServiceLoader;
/**
* Config parser handler.
*/
-public class ConfigParserHandler {
+public final class ConfigParserHandler {
private static final List PARSERS = new ArrayList<>();
@@ -53,6 +53,9 @@ public class ConfigParserHandler {
return ConfigParserHandlerHolder.INSTANCE;
}
+ /**
+ * Config Parser Handler Holder
+ */
private static class ConfigParserHandlerHolder {
private static final ConfigParserHandler INSTANCE = new ConfigParserHandler();
diff --git a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/ConsulRefresherHandler.java b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/ConsulRefresherHandler.java
index 51826680..38e7b483 100644
--- a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/ConsulRefresherHandler.java
+++ b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/ConsulRefresherHandler.java
@@ -39,6 +39,8 @@ import java.util.stream.Collectors;
@Slf4j
public class ConsulRefresherHandler extends AbstractConfigThreadPoolDynamicRefresh {
+ private static final int INITIAL_CAPACITY = 64;
+
@EventListener(EnvironmentChangeEvent.class)
public void refreshed(EnvironmentChangeEvent event) {
Map configInfo = extractLatestConfigInfo(event);
@@ -54,7 +56,7 @@ public class ConsulRefresherHandler extends AbstractConfigThreadPoolDynamicRefre
.map(propertySource -> (BootstrapPropertySource>) propertySource).collect(Collectors.toList());
Optional> bootstrapPropertySource = bootstrapPropertySourceList.stream()
.filter(source -> source.getName().contains(activeProfile) && source.getPropertyNames().length != 0).findFirst();
- Map configInfo = new HashMap<>(64);
+ Map configInfo = new HashMap<>(INITIAL_CAPACITY);
if (bootstrapPropertySource.isPresent()) {
ConsulPropertySource consulPropertySource = (ConsulPropertySource) bootstrapPropertySource.get().getDelegate();
String[] propertyNames = consulPropertySource.getPropertyNames();
diff --git a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/EtcdRefresherHandler.java b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/EtcdRefresherHandler.java
index af4a2080..88d7f7b6 100644
--- a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/EtcdRefresherHandler.java
+++ b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/EtcdRefresherHandler.java
@@ -115,4 +115,4 @@ public class EtcdRefresherHandler extends AbstractConfigThreadPoolDynamicRefresh
.build() : clientBuilder.build();
}
}
-}
\ No newline at end of file
+}
diff --git a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/ZookeeperRefresherHandler.java b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/ZookeeperRefresherHandler.java
index 19326c7d..5a9ef433 100644
--- a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/ZookeeperRefresherHandler.java
+++ b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/ZookeeperRefresherHandler.java
@@ -41,21 +41,25 @@ import java.util.Map;
@Slf4j
public class ZookeeperRefresherHandler extends AbstractConfigThreadPoolDynamicRefresh {
- static final String ZK_CONNECT_STR = "zk-connect-str";
+ private static final String ZK_CONNECT_STR = "zk-connect-str";
- static final String ROOT_NODE = "root-node";
+ private static final String ROOT_NODE = "root-node";
- static final String CONFIG_VERSION = "config-version";
+ private static final String CONFIG_VERSION = "config-version";
- static final String NODE = "node";
+ private static final String NODE = "node";
private CuratorFramework curatorFramework;
+ private static final int BASE_SLEEP_TIME_MS = 1000;
+
+ private static final int MAX_RETRIES = 3;
+
@Override
public void initRegisterListener() {
Map zkConfigs = bootstrapConfigProperties.getZookeeper();
curatorFramework = CuratorFrameworkFactory.newClient(zkConfigs.get(ZK_CONNECT_STR),
- new ExponentialBackoffRetry(1000, 3));
+ new ExponentialBackoffRetry(BASE_SLEEP_TIME_MS, MAX_RETRIES));
String nodePath = ZKPaths.makePath(ZKPaths.makePath(zkConfigs.get(ROOT_NODE),
zkConfigs.get(CONFIG_VERSION)), zkConfigs.get(NODE));
final ConnectionStateListener connectionStateListener = (client, newState) -> {
diff --git a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/event/AbstractRefreshListener.java b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/event/AbstractRefreshListener.java
index 61d6fe08..85dd2dbc 100644
--- a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/event/AbstractRefreshListener.java
+++ b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/event/AbstractRefreshListener.java
@@ -55,4 +55,4 @@ public abstract class AbstractRefreshListener implements RefreshListener adapterExecutors;
+ List adapterExecutors = event.getBootstrapConfigProperties().getAdapterExecutors();
Map threadPoolAdapterMap = ApplicationContextHolder.getBeansOfType(ThreadPoolAdapter.class);
- if (CollectionUtil.isEmpty(adapterExecutors = event.getBootstrapConfigProperties().getAdapterExecutors()) || CollectionUtil.isEmpty(threadPoolAdapterMap)) {
+ if (CollectionUtil.isEmpty(adapterExecutors) || CollectionUtil.isEmpty(threadPoolAdapterMap)) {
return;
}
for (AdapterExecutorProperties each : adapterExecutors) {
diff --git a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/event/Hippo4jConfigDynamicRefreshEventOrder.java b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/event/Hippo4jConfigDynamicRefreshEventOrder.java
index 1b7106ad..f42e7901 100644
--- a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/event/Hippo4jConfigDynamicRefreshEventOrder.java
+++ b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/event/Hippo4jConfigDynamicRefreshEventOrder.java
@@ -20,13 +20,13 @@ package cn.hippo4j.config.springboot.starter.refresher.event;
/**
* Hippo-4j config dynamic refresh event order.
*/
-public interface Hippo4jConfigDynamicRefreshEventOrder {
+public class Hippo4jConfigDynamicRefreshEventOrder {
- int WEB_EXECUTOR_LISTENER = 0;
+ public static final int WEB_EXECUTOR_LISTENER = 0;
- int PLATFORMS_LISTENER = 1;
+ public static final int PLATFORMS_LISTENER = 1;
- int EXECUTORS_LISTENER = 2;
+ public static final int EXECUTORS_LISTENER = 2;
- int ADAPTER_EXECUTORS_LISTENER = 3;
+ public static final int ADAPTER_EXECUTORS_LISTENER = 3;
}
diff --git a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/support/DynamicThreadPoolPostProcessor.java b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/support/DynamicThreadPoolPostProcessor.java
index 98db66ce..c50a2403 100644
--- a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/support/DynamicThreadPoolPostProcessor.java
+++ b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/support/DynamicThreadPoolPostProcessor.java
@@ -18,6 +18,7 @@
package cn.hippo4j.config.springboot.starter.support;
import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.common.constant.Constants;
import cn.hippo4j.common.executor.support.BlockingQueueTypeEnum;
import cn.hippo4j.common.executor.support.RejectedPolicyTypeEnum;
import cn.hippo4j.common.toolkit.ReflectUtil;
@@ -54,6 +55,14 @@ public final class DynamicThreadPoolPostProcessor implements BeanPostProcessor {
private final BootstrapConfigProperties configProperties;
+ private static final int DEFAULT_ACTIVE_ALARM = 80;
+
+ private static final int DEFAULT_CAPACITY_ALARM = 80;
+
+ private static final int DEFAULT_INTERVAL = 5;
+
+ private static final String DEFAULT_RECEIVES = "";
+
@Override
public Object postProcessBeforeInitialization(Object bean, String beanName) {
return bean;
@@ -76,8 +85,8 @@ public final class DynamicThreadPoolPostProcessor implements BeanPostProcessor {
log.error("Failed to create dynamic thread pool in annotation mode.", ex);
return bean;
}
- DynamicThreadPoolExecutor dynamicThreadPoolExecutor;
- if ((dynamicThreadPoolExecutor = DynamicThreadPoolAdapterChoose.unwrap(bean)) == null) {
+ DynamicThreadPoolExecutor dynamicThreadPoolExecutor = DynamicThreadPoolAdapterChoose.unwrap(bean);
+ if (dynamicThreadPoolExecutor == null) {
dynamicThreadPoolExecutor = (DynamicThreadPoolExecutor) bean;
}
DynamicThreadPoolWrapper wrap = new DynamicThreadPoolWrapper(dynamicThreadPoolExecutor.getThreadPoolId(), dynamicThreadPoolExecutor);
@@ -156,7 +165,7 @@ public final class DynamicThreadPoolPostProcessor implements BeanPostProcessor {
.setAllowCoreThreadTimeOut(executor.allowsCoreThreadTimeOut())
.setKeepAliveTime(executor.getKeepAliveTime(TimeUnit.SECONDS))
.setBlockingQueue(queueType)
- .setExecuteTimeOut(10000L)
+ .setExecuteTimeOut(Constants.EXECUTE_TIME_OUT)
.setQueueCapacity(queueCapacity)
.setRejectedHandler(executor.getRejectedExecutionHandler().getClass().getSimpleName())
.setThreadPoolId(threadPoolId);
@@ -233,15 +242,15 @@ public final class DynamicThreadPoolPostProcessor implements BeanPostProcessor {
boolean isAlarm = Optional.ofNullable(executorProperties.getAlarm())
.orElseGet(() -> Optional.ofNullable(configProperties.getDefaultExecutor()).map(ExecutorProperties::getAlarm).orElse(true));
int activeAlarm = Optional.ofNullable(executorProperties.getActiveAlarm())
- .orElseGet(() -> Optional.ofNullable(configProperties.getDefaultExecutor()).map(ExecutorProperties::getActiveAlarm).orElse(80));
+ .orElseGet(() -> Optional.ofNullable(configProperties.getDefaultExecutor()).map(ExecutorProperties::getActiveAlarm).orElse(DEFAULT_ACTIVE_ALARM));
int capacityAlarm = Optional.ofNullable(executorProperties.getCapacityAlarm())
- .orElseGet(() -> Optional.ofNullable(configProperties.getDefaultExecutor()).map(ExecutorProperties::getCapacityAlarm).orElse(80));
+ .orElseGet(() -> Optional.ofNullable(configProperties.getDefaultExecutor()).map(ExecutorProperties::getCapacityAlarm).orElse(DEFAULT_CAPACITY_ALARM));
int interval = Optional.ofNullable(notify)
.map(ExecutorNotifyProperties::getInterval)
- .orElseGet(() -> Optional.ofNullable(configProperties.getDefaultExecutor()).map(ExecutorProperties::getNotify).map(ExecutorNotifyProperties::getInterval).orElse(5));
+ .orElseGet(() -> Optional.ofNullable(configProperties.getDefaultExecutor()).map(ExecutorProperties::getNotify).map(ExecutorNotifyProperties::getInterval).orElse(DEFAULT_INTERVAL));
String receive = Optional.ofNullable(notify)
.map(ExecutorNotifyProperties::getReceives)
- .orElseGet(() -> Optional.ofNullable(configProperties.getDefaultExecutor()).map(ExecutorProperties::getNotify).map(ExecutorNotifyProperties::getReceives).orElse(""));
+ .orElseGet(() -> Optional.ofNullable(configProperties.getDefaultExecutor()).map(ExecutorProperties::getNotify).map(ExecutorNotifyProperties::getReceives).orElse(DEFAULT_RECEIVES));
ThreadPoolNotifyAlarm threadPoolNotifyAlarm = new ThreadPoolNotifyAlarm(isAlarm, activeAlarm, capacityAlarm);
threadPoolNotifyAlarm.setInterval(interval);
threadPoolNotifyAlarm.setReceives(receive);
diff --git a/threadpool/server/config/src/main/java/cn/hippo4j/config/config/CommonConfig.java b/threadpool/server/config/src/main/java/cn/hippo4j/config/config/CommonConfig.java
index 5e86591f..578677bb 100644
--- a/threadpool/server/config/src/main/java/cn/hippo4j/config/config/CommonConfig.java
+++ b/threadpool/server/config/src/main/java/cn/hippo4j/config/config/CommonConfig.java
@@ -32,6 +32,10 @@ import static cn.hippo4j.common.constant.Constants.AVAILABLE_PROCESSORS;
@Configuration
public class CommonConfig {
+ private static final int DEFAULT_QUEUE_CAPACITY = 4096;
+
+ private static final int DEFAULT_AWAIT_TERMINATION_MILLIS = 5000;
+
@Bean
@ConditionalOnMissingBean
public ApplicationContextHolder hippo4jApplicationContextHolder() {
@@ -45,9 +49,9 @@ public class CommonConfig {
monitorThreadPool.setThreadNamePrefix("server.monitor.executor.");
monitorThreadPool.setCorePoolSize(AVAILABLE_PROCESSORS);
monitorThreadPool.setMaxPoolSize(AVAILABLE_PROCESSORS << 1);
- monitorThreadPool.setQueueCapacity(4096);
+ monitorThreadPool.setQueueCapacity(DEFAULT_QUEUE_CAPACITY);
monitorThreadPool.setAllowCoreThreadTimeOut(true);
- monitorThreadPool.setAwaitTerminationMillis(5000);
+ monitorThreadPool.setAwaitTerminationMillis(DEFAULT_AWAIT_TERMINATION_MILLIS);
return monitorThreadPool;
}
}
diff --git a/threadpool/server/config/src/main/java/cn/hippo4j/config/config/ServerBootstrapProperties.java b/threadpool/server/config/src/main/java/cn/hippo4j/config/config/ServerBootstrapProperties.java
index d8d855f7..458ace22 100644
--- a/threadpool/server/config/src/main/java/cn/hippo4j/config/config/ServerBootstrapProperties.java
+++ b/threadpool/server/config/src/main/java/cn/hippo4j/config/config/ServerBootstrapProperties.java
@@ -33,7 +33,7 @@ import org.springframework.context.annotation.Configuration;
@ConfigurationProperties(prefix = ServerBootstrapProperties.PREFIX)
public class ServerBootstrapProperties {
- public final static String PREFIX = "hippo4j.core";
+ public static final String PREFIX = "hippo4j.core";
/**
* Whether to start the background task of cleaning up thread pool history data.
diff --git a/threadpool/server/config/src/main/java/cn/hippo4j/config/event/LocalDataChangeEvent.java b/threadpool/server/config/src/main/java/cn/hippo4j/config/event/LocalDataChangeEvent.java
index 652d2daa..728ffb93 100644
--- a/threadpool/server/config/src/main/java/cn/hippo4j/config/event/LocalDataChangeEvent.java
+++ b/threadpool/server/config/src/main/java/cn/hippo4j/config/event/LocalDataChangeEvent.java
@@ -17,20 +17,23 @@
package cn.hippo4j.config.event;
+import lombok.Getter;
+
/**
* Local data change event.
*/
+@Getter
public class LocalDataChangeEvent extends AbstractEvent {
/**
* Tenant + Item + Thread-pool
*/
- public final String groupKey;
+ private final String groupKey;
/**
* Client instance unique identifier
*/
- public final String identify;
+ private final String identify;
public LocalDataChangeEvent(String identify, String groupKey) {
this.identify = identify;
diff --git a/threadpool/server/config/src/main/java/cn/hippo4j/config/mapper/HisRunDataMapper.java b/threadpool/server/config/src/main/java/cn/hippo4j/config/mapper/HisRunDataMapper.java
index 8405f529..c9311153 100644
--- a/threadpool/server/config/src/main/java/cn/hippo4j/config/mapper/HisRunDataMapper.java
+++ b/threadpool/server/config/src/main/java/cn/hippo4j/config/mapper/HisRunDataMapper.java
@@ -64,6 +64,9 @@ public interface HisRunDataMapper extends BaseMapper {
+ "limit 4")
List queryThreadPoolMaxRanking(@Param("startTime") Long startTime, @Param("endTime") Long endTime);
+ /**
+ * Thread Pool Task Ranking
+ */
@Data
class ThreadPoolTaskRanking {
diff --git a/threadpool/server/config/src/main/java/cn/hippo4j/config/model/CacheItem.java b/threadpool/server/config/src/main/java/cn/hippo4j/config/model/CacheItem.java
index c397fed3..0ff3004e 100644
--- a/threadpool/server/config/src/main/java/cn/hippo4j/config/model/CacheItem.java
+++ b/threadpool/server/config/src/main/java/cn/hippo4j/config/model/CacheItem.java
@@ -33,13 +33,13 @@ public class CacheItem {
final String groupKey;
- public volatile String md5 = Constants.NULL;
+ private volatile String md5 = Constants.NULL;
- public volatile long lastModifiedTs;
+ private volatile long lastModifiedTs;
- public volatile ConfigAllInfo configAllInfo;
+ private volatile ConfigAllInfo configAllInfo;
- public SimpleReadWriteLock rwLock = new SimpleReadWriteLock();
+ private SimpleReadWriteLock rwLock = new SimpleReadWriteLock();
public CacheItem(String groupKey) {
this.groupKey = SingletonRepository.DataIdGroupIdCache.getSingleton(groupKey);
diff --git a/threadpool/server/config/src/main/java/cn/hippo4j/config/model/biz/threadpool/ConfigModifySaveReqDTO.java b/threadpool/server/config/src/main/java/cn/hippo4j/config/model/biz/threadpool/ConfigModifySaveReqDTO.java
index 035bd038..44fbb066 100644
--- a/threadpool/server/config/src/main/java/cn/hippo4j/config/model/biz/threadpool/ConfigModifySaveReqDTO.java
+++ b/threadpool/server/config/src/main/java/cn/hippo4j/config/model/biz/threadpool/ConfigModifySaveReqDTO.java
@@ -21,6 +21,9 @@ import lombok.Data;
import javax.validation.constraints.Pattern;
+/**
+ * Config Modify Save Req DTO
+ */
@Data
public class ConfigModifySaveReqDTO {
diff --git a/threadpool/server/config/src/main/java/cn/hippo4j/config/model/biz/threadpool/ConfigModifyVerifyReqDTO.java b/threadpool/server/config/src/main/java/cn/hippo4j/config/model/biz/threadpool/ConfigModifyVerifyReqDTO.java
index 946e4764..9e9c2d0b 100644
--- a/threadpool/server/config/src/main/java/cn/hippo4j/config/model/biz/threadpool/ConfigModifyVerifyReqDTO.java
+++ b/threadpool/server/config/src/main/java/cn/hippo4j/config/model/biz/threadpool/ConfigModifyVerifyReqDTO.java
@@ -20,8 +20,6 @@ package cn.hippo4j.config.model.biz.threadpool;
import com.fasterxml.jackson.annotation.JsonAlias;
import lombok.Data;
-import java.util.List;
-
/**
* Config modify verify dto
*/
diff --git a/threadpool/server/config/src/main/java/cn/hippo4j/config/notify/DefaultPublisher.java b/threadpool/server/config/src/main/java/cn/hippo4j/config/notify/DefaultPublisher.java
index 39612b11..c147f0ed 100644
--- a/threadpool/server/config/src/main/java/cn/hippo4j/config/notify/DefaultPublisher.java
+++ b/threadpool/server/config/src/main/java/cn/hippo4j/config/notify/DefaultPublisher.java
@@ -48,6 +48,12 @@ public class DefaultPublisher extends Thread implements EventPublisher {
protected volatile Long lastEventSequence = -1L;
+ private static final int DEFAULT_QUEUE_MAX_SIZE = -1;
+
+ private static final int DEFAULT_WAIT_TIMES = 60;
+
+ private static final long SLEEP_1S = 1000L;
+
private static final AtomicReferenceFieldUpdater UPDATER = AtomicReferenceFieldUpdater
.newUpdater(DefaultPublisher.class, Long.class, "lastEventSequence");
@@ -64,8 +70,8 @@ public class DefaultPublisher extends Thread implements EventPublisher {
public synchronized void start() {
if (!initialized) {
super.start();
- if (queueMaxSize == -1) {
- queueMaxSize = NotifyCenter.ringBufferSize;
+ if (queueMaxSize == DEFAULT_QUEUE_MAX_SIZE) {
+ queueMaxSize = NotifyCenter.RING_BUFFER_SIZE;
}
initialized = true;
}
@@ -78,13 +84,13 @@ public class DefaultPublisher extends Thread implements EventPublisher {
private void openEventHandler() {
try {
- int waitTimes = 60;
+ int waitTimes = DEFAULT_WAIT_TIMES;
for (;;) {
if (shutdown || hasSubscriber() || waitTimes <= 0) {
break;
}
try {
- Thread.sleep(1000L);
+ Thread.sleep(SLEEP_1S);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
diff --git a/threadpool/server/config/src/main/java/cn/hippo4j/config/notify/NotifyCenter.java b/threadpool/server/config/src/main/java/cn/hippo4j/config/notify/NotifyCenter.java
index 78101e86..6c7c6ab5 100644
--- a/threadpool/server/config/src/main/java/cn/hippo4j/config/notify/NotifyCenter.java
+++ b/threadpool/server/config/src/main/java/cn/hippo4j/config/notify/NotifyCenter.java
@@ -37,9 +37,9 @@ public class NotifyCenter {
private static final NotifyCenter INSTANCE = new NotifyCenter();
- public static int ringBufferSize = 16384;
+ public static final int RING_BUFFER_SIZE = 16384;
- public static int shareBufferSize = 1024;
+ public static final int SHARE_BUFFER_SIZE = 1024;
private DefaultSharePublisher sharePublisher;
@@ -61,7 +61,7 @@ public class NotifyCenter {
}
};
INSTANCE.sharePublisher = new DefaultSharePublisher();
- INSTANCE.sharePublisher.init(AbstractSlowEvent.class, shareBufferSize);
+ INSTANCE.sharePublisher.init(AbstractSlowEvent.class, SHARE_BUFFER_SIZE);
}
public static void registerSubscriber(final AbstractSubscriber consumer) {
@@ -73,20 +73,20 @@ public class NotifyCenter {
addSubscriber(consumer, subscribeType);
}
}
- return;
- }
- final Class extends AbstractEvent> subscribeType = consumer.subscribeType();
- if (ClassUtil.isAssignableFrom(AbstractSlowEvent.class, subscribeType)) {
- INSTANCE.sharePublisher.addSubscriber(consumer, subscribeType);
- return;
+ } else {
+ final Class extends AbstractEvent> subscribeType = consumer.subscribeType();
+ if (ClassUtil.isAssignableFrom(AbstractSlowEvent.class, subscribeType)) {
+ INSTANCE.sharePublisher.addSubscriber(consumer, subscribeType);
+ } else {
+ addSubscriber(consumer, subscribeType);
+ }
}
- addSubscriber(consumer, subscribeType);
}
private static void addSubscriber(final AbstractSubscriber consumer, Class extends AbstractEvent> subscribeType) {
final String topic = ClassUtil.getCanonicalName(subscribeType);
synchronized (NotifyCenter.class) {
- MapUtil.computeIfAbsent(INSTANCE.publisherMap, topic, publisherFactory, subscribeType, ringBufferSize);
+ MapUtil.computeIfAbsent(INSTANCE.publisherMap, topic, publisherFactory, subscribeType, RING_BUFFER_SIZE);
}
EventPublisher publisher = INSTANCE.publisherMap.get(topic);
publisher.addSubscriber(consumer);
diff --git a/threadpool/server/config/src/main/java/cn/hippo4j/config/service/ConfigCacheService.java b/threadpool/server/config/src/main/java/cn/hippo4j/config/service/ConfigCacheService.java
index 5a3dfda4..04232aa5 100644
--- a/threadpool/server/config/src/main/java/cn/hippo4j/config/service/ConfigCacheService.java
+++ b/threadpool/server/config/src/main/java/cn/hippo4j/config/service/ConfigCacheService.java
@@ -47,6 +47,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import static cn.hippo4j.common.constant.Constants.GROUP_KEY_DELIMITER;
import static cn.hippo4j.common.constant.Constants.GROUP_KEY_DELIMITER_TRANSLATION;
+import static cn.hippo4j.common.constant.MagicNumberConstants.INDEX_3;
/**
* Config cache service.
@@ -54,7 +55,7 @@ import static cn.hippo4j.common.constant.Constants.GROUP_KEY_DELIMITER_TRANSLATI
@Slf4j
public class ConfigCacheService {
- private static ConfigService CONFIG_SERVICE;
+ private static ConfigService configService;
static {
AbstractSubjectCenter.register(AbstractSubjectCenter.SubjectType.CLEAR_CONFIG_CACHE, new ClearConfigCache());
@@ -83,9 +84,11 @@ public class ConfigCacheService {
*/
public static boolean checkTpId(String groupKey, String tpId, String clientIdentify) {
Map cacheItemMap = Optional.ofNullable(CLIENT_CONFIG_CACHE.get(groupKey)).orElse(new HashMap<>());
- CacheItem cacheItem;
- if (CollectionUtil.isNotEmpty(cacheItemMap) && (cacheItem = cacheItemMap.get(clientIdentify)) != null) {
- return Objects.equals(tpId, cacheItem.configAllInfo.getTpId());
+ if (CollectionUtil.isNotEmpty(cacheItemMap)) {
+ CacheItem cacheItem = cacheItemMap.get(clientIdentify);
+ if (cacheItem != null) {
+ return Objects.equals(tpId, cacheItem.getConfigAllInfo().getTpId());
+ }
}
return Boolean.FALSE;
}
@@ -97,31 +100,34 @@ public class ConfigCacheService {
* @param clientIdentify
* @return
*/
- private synchronized static String getContentMd5IsNullPut(String groupKey, String clientIdentify) {
+ private static synchronized String getContentMd5IsNullPut(String groupKey, String clientIdentify) {
Map cacheItemMap = Optional.ofNullable(CLIENT_CONFIG_CACHE.get(groupKey)).orElse(new HashMap<>());
CacheItem cacheItem = null;
- if (CollectionUtil.isNotEmpty(cacheItemMap) && (cacheItem = cacheItemMap.get(clientIdentify)) != null) {
- return cacheItem.md5;
+ if (CollectionUtil.isNotEmpty(cacheItemMap)) {
+ cacheItem = cacheItemMap.get(clientIdentify);
+ if (cacheItem != null) {
+ return cacheItem.getMd5();
+ }
}
- if (CONFIG_SERVICE == null) {
- CONFIG_SERVICE = ApplicationContextHolder.getBean(ConfigService.class);
+ if (configService == null) {
+ configService = ApplicationContextHolder.getBean(ConfigService.class);
}
String[] params = groupKey.split(GROUP_KEY_DELIMITER_TRANSLATION);
- ConfigAllInfo config = CONFIG_SERVICE.findConfigRecentInfo(params);
+ ConfigAllInfo config = configService.findConfigRecentInfo(params);
if (config != null && StringUtil.isNotBlank(config.getTpId())) {
cacheItem = new CacheItem(groupKey, config);
cacheItemMap.put(clientIdentify, cacheItem);
CLIENT_CONFIG_CACHE.put(groupKey, cacheItemMap);
}
- return (cacheItem != null) ? cacheItem.md5 : Constants.NULL;
+ return (cacheItem != null) ? cacheItem.getMd5() : Constants.NULL;
}
public static String getContentMd5(String groupKey) {
- if (CONFIG_SERVICE == null) {
- CONFIG_SERVICE = ApplicationContextHolder.getBean(ConfigService.class);
+ if (configService == null) {
+ configService = ApplicationContextHolder.getBean(ConfigService.class);
}
String[] params = groupKey.split(GROUP_KEY_DELIMITER_TRANSLATION);
- ConfigAllInfo config = CONFIG_SERVICE.findConfigRecentInfo(params);
+ ConfigAllInfo config = configService.findConfigRecentInfo(params);
if (config == null || StringUtils.isEmpty(config.getTpId())) {
String errorMessage = String.format("config is null. tpId: %s, itemId: %s, tenantId: %s", params[0], params[1], params[2]);
throw new RuntimeException(errorMessage);
@@ -131,21 +137,23 @@ public class ConfigCacheService {
public static void updateMd5(String groupKey, String identify, String md5) {
CacheItem cache = makeSure(groupKey, identify);
- if (cache.md5 == null || !cache.md5.equals(md5)) {
- cache.md5 = md5;
+ if (cache.getMd5() == null || !cache.getMd5().equals(md5)) {
+ cache.setMd5(md5);
String[] params = groupKey.split(GROUP_KEY_DELIMITER_TRANSLATION);
- ConfigAllInfo config = CONFIG_SERVICE.findConfigRecentInfo(params);
- cache.configAllInfo = config;
- cache.lastModifiedTs = System.currentTimeMillis();
+ ConfigAllInfo config = configService.findConfigRecentInfo(params);
+ cache.setConfigAllInfo(config);
+ cache.setLastModifiedTs(System.currentTimeMillis());
NotifyCenter.publishEvent(new LocalDataChangeEvent(identify, groupKey));
}
}
- public synchronized static CacheItem makeSure(String groupKey, String ip) {
+ public static synchronized CacheItem makeSure(String groupKey, String ip) {
Map ipCacheItemMap = CLIENT_CONFIG_CACHE.get(groupKey);
- CacheItem item;
- if (ipCacheItemMap != null && (item = ipCacheItemMap.get(ip)) != null) {
- return item;
+ if (ipCacheItemMap != null) {
+ CacheItem item = ipCacheItemMap.get(ip);
+ if (item != null) {
+ return item;
+ }
}
CacheItem tmp = new CacheItem(groupKey);
Map cacheItemMap = new HashMap<>();
@@ -176,7 +184,7 @@ public class ConfigCacheService {
for (String each : keys) {
String[] keyArray = each.split(GROUP_KEY_DELIMITER_TRANSLATION);
if (keyArray.length > 2) {
- identifyList.add(keyArray[3]);
+ identifyList.add(keyArray[INDEX_3]);
}
}
}
@@ -192,7 +200,7 @@ public class ConfigCacheService {
coarseRemove(groupKey);
}
- private synchronized static void coarseRemove(String coarse) {
+ private static synchronized void coarseRemove(String coarse) {
// fuzzy search
List identificationList = MapUtil.parseMapForFilter(CLIENT_CONFIG_CACHE, coarse);
for (String cacheMapKey : identificationList) {
diff --git a/threadpool/server/config/src/main/java/cn/hippo4j/config/service/LongPollingService.java b/threadpool/server/config/src/main/java/cn/hippo4j/config/service/LongPollingService.java
index 76ee8340..e157d91b 100644
--- a/threadpool/server/config/src/main/java/cn/hippo4j/config/service/LongPollingService.java
+++ b/threadpool/server/config/src/main/java/cn/hippo4j/config/service/LongPollingService.java
@@ -70,17 +70,23 @@ public class LongPollingService {
private final Map retainIps = new ConcurrentHashMap<>();
+ private static final long SCHEDULE_PERIOD = 30L;
+
+ private static final int MAX_TIMEOUT = 10000;
+
+ private static final int DEFAULT_DELAY_TIME = 500;
+
public LongPollingService() {
allSubs = new ConcurrentLinkedQueue<>();
- ConfigExecutor.scheduleLongPolling(new StatTask(), 0L, 30L, TimeUnit.SECONDS);
- NotifyCenter.registerToPublisher(LocalDataChangeEvent.class, NotifyCenter.ringBufferSize);
+ ConfigExecutor.scheduleLongPolling(new StatTask(), 0L, SCHEDULE_PERIOD, TimeUnit.SECONDS);
+ NotifyCenter.registerToPublisher(LocalDataChangeEvent.class, NotifyCenter.RING_BUFFER_SIZE);
NotifyCenter.registerSubscriber(new AbstractSubscriber() {
@Override
public void onEvent(AbstractEvent event) {
if (!isFixedPolling() && event instanceof LocalDataChangeEvent) {
LocalDataChangeEvent evt = (LocalDataChangeEvent) event;
- ConfigExecutor.executeLongPolling(new DataChangeTask(evt.identify, evt.groupKey));
+ ConfigExecutor.executeLongPolling(new DataChangeTask(evt.getIdentify(), evt.getGroupKey()));
}
}
@@ -155,25 +161,30 @@ public class LongPollingService {
int probeRequestSize) {
String str = req.getHeader(LONG_POLLING_HEADER);
String noHangUpFlag = req.getHeader(LONG_POLLING_NO_HANG_UP_HEADER);
- int delayTime = SwitchService.getSwitchInteger(SwitchService.FIXED_DELAY_TIME, 500);
- long timeout = Math.max(10000, Long.parseLong(str) - delayTime);
+ int delayTime = SwitchService.getSwitchInteger(SwitchService.FIXED_DELAY_TIME, DEFAULT_DELAY_TIME);
+ long timeout = Math.max(MAX_TIMEOUT, Long.parseLong(str) - delayTime);
+ boolean shouldReturn = false;
+
if (isFixedPolling()) {
- timeout = Math.max(10000, getFixedPollingInterval());
+ timeout = Math.max(MAX_TIMEOUT, getFixedPollingInterval());
} else {
List changedGroups = Md5ConfigUtil.compareMd5(req, clientMd5Map);
if (!changedGroups.isEmpty()) {
generateResponse(rsp, changedGroups);
- return;
+ shouldReturn = true;
} else if (noHangUpFlag != null && noHangUpFlag.equalsIgnoreCase(TRUE_STR)) {
log.info("New initializing cacheData added in.");
- return;
+ shouldReturn = true;
}
}
- String clientIdentify = RequestUtil.getClientIdentify(req);
- final AsyncContext asyncContext = req.startAsync();
- asyncContext.setTimeout(0L);
- ConfigExecutor.executeLongPolling(new ClientLongPolling(asyncContext, clientMd5Map, clientIdentify, probeRequestSize,
- timeout - delayTime, Pair.of(req.getHeader(CLIENT_APP_NAME_HEADER), req.getHeader(CLIENT_VERSION))));
+
+ if (!shouldReturn) {
+ String clientIdentify = RequestUtil.getClientIdentify(req);
+ final AsyncContext asyncContext = req.startAsync();
+ asyncContext.setTimeout(0L);
+ ConfigExecutor.executeLongPolling(new ClientLongPolling(asyncContext, clientMd5Map, clientIdentify, probeRequestSize,
+ timeout - delayTime, Pair.of(req.getHeader(CLIENT_APP_NAME_HEADER), req.getHeader(CLIENT_VERSION))));
+ }
}
/**
@@ -199,8 +210,8 @@ public class LongPollingService {
Future> asyncTimeoutFuture;
- public ClientLongPolling(AsyncContext asyncContext, Map clientMd5Map, String clientIdentify,
- int probeRequestSize, long timeout, Pair appInfo) {
+ ClientLongPolling(AsyncContext asyncContext, Map clientMd5Map, String clientIdentify,
+ int probeRequestSize, long timeout, Pair appInfo) {
this.asyncContext = asyncContext;
this.clientMd5Map = clientMd5Map;
this.clientIdentify = clientIdentify;
diff --git a/threadpool/server/config/src/main/java/cn/hippo4j/config/service/ThreadPoolAdapterService.java b/threadpool/server/config/src/main/java/cn/hippo4j/config/service/ThreadPoolAdapterService.java
index 5035a88d..c9299640 100644
--- a/threadpool/server/config/src/main/java/cn/hippo4j/config/service/ThreadPoolAdapterService.java
+++ b/threadpool/server/config/src/main/java/cn/hippo4j/config/service/ThreadPoolAdapterService.java
@@ -140,6 +140,9 @@ public class ThreadPoolAdapterService {
}
}
+ /**
+ * Clear Thread Pool Adapter Cache
+ */
static class ClearThreadPoolAdapterCache implements Observer {
@Override
diff --git a/threadpool/server/config/src/main/java/cn/hippo4j/config/service/biz/impl/ConfigServiceImpl.java b/threadpool/server/config/src/main/java/cn/hippo4j/config/service/biz/impl/ConfigServiceImpl.java
index b6010f7e..6038751a 100644
--- a/threadpool/server/config/src/main/java/cn/hippo4j/config/service/biz/impl/ConfigServiceImpl.java
+++ b/threadpool/server/config/src/main/java/cn/hippo4j/config/service/biz/impl/ConfigServiceImpl.java
@@ -67,6 +67,16 @@ import java.util.concurrent.SynchronousQueue;
import java.util.stream.Collectors;
import java.util.stream.Stream;
+import static cn.hippo4j.common.constant.MagicNumberConstants.INDEX_0;
+import static cn.hippo4j.common.constant.MagicNumberConstants.INDEX_1;
+import static cn.hippo4j.common.constant.MagicNumberConstants.INDEX_2;
+import static cn.hippo4j.common.constant.MagicNumberConstants.INDEX_3;
+import static cn.hippo4j.common.executor.support.BlockingQueueTypeEnum.ARRAY_BLOCKING_QUEUE;
+import static cn.hippo4j.common.executor.support.BlockingQueueTypeEnum.LINKED_BLOCKING_DEQUE;
+import static cn.hippo4j.common.executor.support.BlockingQueueTypeEnum.LINKED_BLOCKING_QUEUE;
+import static cn.hippo4j.common.executor.support.BlockingQueueTypeEnum.LINKED_TRANSFER_QUEUE;
+import static cn.hippo4j.common.executor.support.BlockingQueueTypeEnum.PRIORITY_BLOCKING_QUEUE;
+import static cn.hippo4j.common.executor.support.BlockingQueueTypeEnum.RESIZABLE_LINKED_BLOCKING_QUEUE;
import static cn.hippo4j.config.service.ConfigCacheService.getContent;
/**
@@ -85,6 +95,8 @@ public class ConfigServiceImpl implements ConfigService {
private final NotifyService notifyService;
+ private static final int DEFAULT_QUEUE_CAPACITY = 1024;
+
@Override
public ConfigAllInfo findConfigAllInfo(String tpId, String itemId, String tenantId) {
LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(ConfigAllInfo.class)
@@ -99,13 +111,13 @@ public class ConfigServiceImpl implements ConfigService {
public ConfigAllInfo findConfigRecentInfo(String... params) {
ConfigAllInfo resultConfig;
ConfigAllInfo configInstance = null;
- String instanceId = params[3];
+ String instanceId = params[INDEX_3];
if (StringUtil.isNotBlank(instanceId)) {
LambdaQueryWrapper instanceQueryWrapper = Wrappers.lambdaQuery(ConfigInstanceInfo.class)
- .eq(ConfigInstanceInfo::getTpId, params[0])
- .eq(ConfigInstanceInfo::getItemId, params[1])
- .eq(ConfigInstanceInfo::getTenantId, params[2])
- .eq(ConfigInstanceInfo::getInstanceId, params[3])
+ .eq(ConfigInstanceInfo::getTpId, params[INDEX_0])
+ .eq(ConfigInstanceInfo::getItemId, params[INDEX_1])
+ .eq(ConfigInstanceInfo::getTenantId, params[INDEX_2])
+ .eq(ConfigInstanceInfo::getInstanceId, params[INDEX_3])
.orderByDesc(ConfigInstanceInfo::getGmtCreate)
.last("LIMIT 1");
ConfigInstanceInfo instanceInfo = configInstanceMapper.selectOne(instanceQueryWrapper);
@@ -216,6 +228,7 @@ public class ConfigServiceImpl implements ConfigService {
public Long addConfigInfo(ConfigAllInfo config) {
config.setContent(ContentUtil.getPoolContent(config));
config.setMd5(Md5Util.getTpContentMd5(config));
+ Long configId = null;
try {
// Currently it is a single application, and it supports switching distributed locks during cluster deployment in the future.
synchronized (ConfigService.class) {
@@ -225,14 +238,14 @@ public class ConfigServiceImpl implements ConfigService {
.eq(ConfigAllInfo::getDelFlag, DelEnum.NORMAL.getIntCode()));
Assert.isNull(configAllInfo, "线程池配置已存在");
if (SqlHelper.retBool(configInfoMapper.insert(config))) {
- return config.getId();
+ configId = config.getId();
}
}
} catch (Exception ex) {
log.error("[db-error] message: {}", ex.getMessage(), ex);
throw ex;
}
- return null;
+ return configId;
}
public void updateConfigInfo(String identify, boolean isChangeNotice, ConfigAllInfo config) {
@@ -251,7 +264,6 @@ public class ConfigServiceImpl implements ConfigService {
ConfigInstanceInfo instanceInfo = BeanUtil.convert(config, ConfigInstanceInfo.class);
instanceInfo.setInstanceId(identify);
configInstanceMapper.insert(instanceInfo);
- return;
} else if (StringUtil.isEmpty(identify) && isChangeNotice) {
List identifyList = ConfigCacheService.getIdentifyList(config.getTenantId(), config.getItemId(), config.getTpId());
if (CollectionUtil.isNotEmpty(identifyList)) {
@@ -261,9 +273,9 @@ public class ConfigServiceImpl implements ConfigService {
configInstanceMapper.insert(instanceInfo);
}
}
- return;
+ } else {
+ configInfoMapper.update(config, wrapper);
}
- configInfoMapper.update(config, wrapper);
} catch (Exception ex) {
log.error("[db-error] message: {}", ex.getMessage(), ex);
throw ex;
@@ -294,18 +306,20 @@ public class ConfigServiceImpl implements ConfigService {
*/
private Integer getQueueCapacityByType(ConfigAllInfo config) {
int queueCapacity;
- switch (config.getQueueType()) {
- case 5:
- queueCapacity = Integer.MAX_VALUE;
- break;
- default:
- queueCapacity = config.getCapacity();
- break;
+ if (LINKED_TRANSFER_QUEUE.getType().equals(config.getQueueType())) {
+ queueCapacity = Integer.MAX_VALUE;
+ } else {
+ queueCapacity = config.getCapacity();
}
- List queueTypes = Stream.of(1, 2, 3, 6, 9).collect(Collectors.toList());
+ List queueTypes = Stream.of(
+ ARRAY_BLOCKING_QUEUE.getType(),
+ LINKED_BLOCKING_QUEUE.getType(),
+ LINKED_BLOCKING_DEQUE.getType(),
+ PRIORITY_BLOCKING_QUEUE.getType(),
+ RESIZABLE_LINKED_BLOCKING_QUEUE.getType()).collect(Collectors.toList());
boolean setDefaultFlag = queueTypes.contains(config.getQueueType()) && (config.getCapacity() == null || Objects.equals(config.getCapacity(), 0));
if (setDefaultFlag) {
- queueCapacity = 1024;
+ queueCapacity = DEFAULT_QUEUE_CAPACITY;
}
return queueCapacity;
}
diff --git a/threadpool/server/config/src/main/java/cn/hippo4j/config/service/biz/impl/HisRunDataServiceImpl.java b/threadpool/server/config/src/main/java/cn/hippo4j/config/service/biz/impl/HisRunDataServiceImpl.java
index 3e97ef57..165ada9b 100644
--- a/threadpool/server/config/src/main/java/cn/hippo4j/config/service/biz/impl/HisRunDataServiceImpl.java
+++ b/threadpool/server/config/src/main/java/cn/hippo4j/config/service/biz/impl/HisRunDataServiceImpl.java
@@ -47,6 +47,10 @@ import java.util.Date;
import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;
+import static cn.hippo4j.common.constant.MagicNumberConstants.INDEX_0;
+import static cn.hippo4j.common.constant.MagicNumberConstants.INDEX_1;
+import static cn.hippo4j.common.constant.MagicNumberConstants.INDEX_2;
+import static cn.hippo4j.common.constant.MagicNumberConstants.INDEX_3;
import static cn.hippo4j.common.toolkit.DateUtil.NORM_TIME_PATTERN;
/**
@@ -151,12 +155,12 @@ public class HisRunDataServiceImpl extends ServiceImpl {
HisRunDataInfo hisRunDataInfo = BeanUtil.convert(each, HisRunDataInfo.class);
String[] parseKey = GroupKey.parseKey(each.getGroupKey());
- boolean checkFlag = ConfigCacheService.checkTpId(each.getGroupKey(), parseKey[0], parseKey[3]);
+ boolean checkFlag = ConfigCacheService.checkTpId(each.getGroupKey(), parseKey[INDEX_0], parseKey[INDEX_3]);
if (checkFlag) {
- hisRunDataInfo.setTpId(parseKey[0]);
- hisRunDataInfo.setItemId(parseKey[1]);
- hisRunDataInfo.setTenantId(parseKey[2]);
- hisRunDataInfo.setInstanceId(parseKey[3]);
+ hisRunDataInfo.setTpId(parseKey[INDEX_0]);
+ hisRunDataInfo.setItemId(parseKey[INDEX_1]);
+ hisRunDataInfo.setTenantId(parseKey[INDEX_2]);
+ hisRunDataInfo.setInstanceId(parseKey[INDEX_3]);
hisRunDataInfos.add(hisRunDataInfo);
}
});
diff --git a/threadpool/server/config/src/main/java/cn/hippo4j/config/toolkit/EnvUtil.java b/threadpool/server/config/src/main/java/cn/hippo4j/config/toolkit/EnvUtil.java
index 83a6c813..a32366d0 100644
--- a/threadpool/server/config/src/main/java/cn/hippo4j/config/toolkit/EnvUtil.java
+++ b/threadpool/server/config/src/main/java/cn/hippo4j/config/toolkit/EnvUtil.java
@@ -31,9 +31,9 @@ public class EnvUtil {
public static final String STANDALONE_MODE_PROPERTY_NAME = "hippo4j.standalone";
- private static String HIPPO4J_HOME_PATH = null;
+ private static String hippo4jHomePath = null;
- private static Boolean IS_STANDALONE = null;
+ private static Boolean isStandalone = null;
/**
* Get hippo4j home.
@@ -41,14 +41,13 @@ public class EnvUtil {
* @return
*/
public static String getHippo4jHome() {
- if (StringUtil.isBlank(HIPPO4J_HOME_PATH)) {
- String hippo4jHome = System.getProperty(HIPPO4J_HOME_KEY);
- if (StringUtil.isBlank(hippo4jHome)) {
- hippo4jHome = Paths.get(System.getProperty("user.home"), "hippo4j").toString();
+ if (StringUtil.isBlank(hippo4jHomePath)) {
+ hippo4jHomePath = System.getProperty(HIPPO4J_HOME_KEY);
+ if (StringUtil.isBlank(hippo4jHomePath)) {
+ hippo4jHomePath = Paths.get(System.getProperty("user.home"), "hippo4j").toString();
}
- return hippo4jHome;
}
- return HIPPO4J_HOME_PATH;
+ return hippo4jHomePath;
}
/**
@@ -57,9 +56,9 @@ public class EnvUtil {
* @return
*/
public static boolean getStandaloneMode() {
- if (Objects.isNull(IS_STANDALONE)) {
- IS_STANDALONE = Boolean.getBoolean(STANDALONE_MODE_PROPERTY_NAME);
+ if (Objects.isNull(isStandalone)) {
+ isStandalone = Boolean.getBoolean(STANDALONE_MODE_PROPERTY_NAME);
}
- return IS_STANDALONE;
+ return isStandalone;
}
}
diff --git a/threadpool/server/config/src/main/java/cn/hippo4j/config/toolkit/Md5ConfigUtil.java b/threadpool/server/config/src/main/java/cn/hippo4j/config/toolkit/Md5ConfigUtil.java
index f8b76d00..ef9d66de 100644
--- a/threadpool/server/config/src/main/java/cn/hippo4j/config/toolkit/Md5ConfigUtil.java
+++ b/threadpool/server/config/src/main/java/cn/hippo4j/config/toolkit/Md5ConfigUtil.java
@@ -34,6 +34,11 @@ import java.util.Map;
import static cn.hippo4j.common.constant.Constants.LINE_SEPARATOR;
import static cn.hippo4j.common.constant.Constants.WORD_SEPARATOR;
+import static cn.hippo4j.common.constant.MagicNumberConstants.INDEX_0;
+import static cn.hippo4j.common.constant.MagicNumberConstants.INDEX_1;
+import static cn.hippo4j.common.constant.MagicNumberConstants.INDEX_2;
+import static cn.hippo4j.common.constant.MagicNumberConstants.INDEX_3;
+import static cn.hippo4j.common.constant.MagicNumberConstants.SIZE_4;
/**
* Md5 config util.
@@ -44,6 +49,10 @@ public class Md5ConfigUtil {
static final char LINE_SEPARATOR_CHAR = (char) 1;
+ private static final int CLIENT_MD5_MAP_INIT_SIZE = 5;
+ private static final int CLIENT_MD5_MAP_MAX_SIZE = 10000;
+ private static final int CLIENT_MD5_TMP_LIST_INIT_SIZE = 3;
+ private static final int CLIENT_MD5_TMP_LIST_MAX_SIZE = 4;
/**
* Get thread pool content md5
*
@@ -74,18 +83,18 @@ public class Md5ConfigUtil {
}
public static Map getClientMd5Map(String configKeysString) {
- Map md5Map = new HashMap(5);
+ Map md5Map = new HashMap(CLIENT_MD5_MAP_INIT_SIZE);
if (null == configKeysString || "".equals(configKeysString)) {
return md5Map;
}
int start = 0;
- List tmpList = new ArrayList(3);
+ List tmpList = new ArrayList(CLIENT_MD5_TMP_LIST_INIT_SIZE);
for (int i = start; i < configKeysString.length(); i++) {
char c = configKeysString.charAt(i);
if (c == WORD_SEPARATOR_CHAR) {
tmpList.add(configKeysString.substring(start, i));
start = i + 1;
- if (tmpList.size() > 4) {
+ if (tmpList.size() > CLIENT_MD5_TMP_LIST_MAX_SIZE) {
// Malformed message and return parameter error.
throw new IllegalArgumentException("invalid protocol,too much key");
}
@@ -95,12 +104,12 @@ public class Md5ConfigUtil {
endValue = configKeysString.substring(start, i);
}
start = i + 1;
- String groupKey = getKey(tmpList.get(0), tmpList.get(1), tmpList.get(2), tmpList.get(3));
+ String groupKey = getKey(tmpList.get(INDEX_0), tmpList.get(INDEX_1), tmpList.get(INDEX_2), tmpList.get(INDEX_3));
groupKey = SingletonRepository.DataIdGroupIdCache.getSingleton(groupKey);
md5Map.put(groupKey, endValue);
tmpList.clear();
// Protect malformed messages
- if (md5Map.size() > 10000) {
+ if (md5Map.size() > CLIENT_MD5_MAP_MAX_SIZE) {
throw new IllegalArgumentException("invalid protocol, too much listener");
}
}
@@ -140,7 +149,7 @@ public class Md5ConfigUtil {
sb.append(WORD_SEPARATOR);
sb.append(dataIdGroupId[1]);
// if have tenant, then set it
- if (dataIdGroupId.length == 4) {
+ if (dataIdGroupId.length == SIZE_4) {
if (StringUtil.isNotBlank(dataIdGroupId[2])) {
sb.append(WORD_SEPARATOR);
sb.append(dataIdGroupId[2]);
diff --git a/threadpool/server/config/src/main/java/cn/hippo4j/config/toolkit/SimpleReadWriteLock.java b/threadpool/server/config/src/main/java/cn/hippo4j/config/toolkit/SimpleReadWriteLock.java
index 45cd23ef..0d60cea3 100644
--- a/threadpool/server/config/src/main/java/cn/hippo4j/config/toolkit/SimpleReadWriteLock.java
+++ b/threadpool/server/config/src/main/java/cn/hippo4j/config/toolkit/SimpleReadWriteLock.java
@@ -24,6 +24,8 @@ public class SimpleReadWriteLock {
private int status = 0;
+ private static final int FREE_STATUS = -1;
+
public synchronized boolean tryReadLock() {
if (isWriteLocked()) {
return false;
@@ -41,7 +43,7 @@ public class SimpleReadWriteLock {
if (!isFree()) {
return false;
} else {
- status = -1;
+ status = FREE_STATUS;
return true;
}
}
diff --git a/threadpool/server/config/src/main/java/cn/hippo4j/config/toolkit/SingletonRepository.java b/threadpool/server/config/src/main/java/cn/hippo4j/config/toolkit/SingletonRepository.java
index 12885bd0..71169462 100644
--- a/threadpool/server/config/src/main/java/cn/hippo4j/config/toolkit/SingletonRepository.java
+++ b/threadpool/server/config/src/main/java/cn/hippo4j/config/toolkit/SingletonRepository.java
@@ -24,8 +24,13 @@ import java.util.concurrent.ConcurrentHashMap;
*/
public class SingletonRepository {
+ /**
+ * initialCapacity: 1 << 16
+ */
+ private static final int INITIAL_CAPACITY = 65536;
+
public SingletonRepository() {
- shared = new ConcurrentHashMap(1 << 16);
+ shared = new ConcurrentHashMap(INITIAL_CAPACITY);
}
public T getSingleton(T obj) {
@@ -43,6 +48,9 @@ public class SingletonRepository {
private final ConcurrentHashMap shared;
+ /**
+ * Data Id Group Id Cache
+ */
public static class DataIdGroupIdCache {
public static String getSingleton(String str) {
diff --git a/threadpool/server/config/src/test/java/cn/hippo4j/config/event/LocalDataChangeEventTest.java b/threadpool/server/config/src/test/java/cn/hippo4j/config/event/LocalDataChangeEventTest.java
index dede0223..38051720 100644
--- a/threadpool/server/config/src/test/java/cn/hippo4j/config/event/LocalDataChangeEventTest.java
+++ b/threadpool/server/config/src/test/java/cn/hippo4j/config/event/LocalDataChangeEventTest.java
@@ -26,7 +26,7 @@ public final class LocalDataChangeEventTest {
@Test
public void assertGetSingleton() {
LocalDataChangeEvent localDataChangeEvent = new LocalDataChangeEvent("groupKey", "identify");
- Assert.isTrue(StringUtil.isNotEmpty(localDataChangeEvent.groupKey));
- Assert.isTrue(StringUtil.isNotEmpty(localDataChangeEvent.identify));
+ Assert.isTrue(StringUtil.isNotEmpty(localDataChangeEvent.getGroupKey()));
+ Assert.isTrue(StringUtil.isNotEmpty(localDataChangeEvent.getIdentify()));
}
}
diff --git a/threadpool/server/console/src/main/java/cn/hippo4j/console/controller/ThreadPoolController.java b/threadpool/server/console/src/main/java/cn/hippo4j/console/controller/ThreadPoolController.java
index b3ffd783..95143807 100644
--- a/threadpool/server/console/src/main/java/cn/hippo4j/console/controller/ThreadPoolController.java
+++ b/threadpool/server/console/src/main/java/cn/hippo4j/console/controller/ThreadPoolController.java
@@ -214,7 +214,7 @@ public class ThreadPoolController {
List returnThreadPool = new ArrayList<>();
content.forEach((key, val) -> {
ThreadPoolInstanceInfo threadPoolInstanceInfo =
- BeanUtil.convert(val.configAllInfo, ThreadPoolInstanceInfo.class);
+ BeanUtil.convert(val.getConfigAllInfo(), ThreadPoolInstanceInfo.class);
threadPoolInstanceInfo.setClientAddress(StringUtil.subBefore(key, Constants.IDENTIFY_SLICER_SYMBOL));
threadPoolInstanceInfo.setActive(activeMap.get(key));
threadPoolInstanceInfo.setIdentify(key);
From a33a376cbbeb7f8756103c0f12a2c2e1c321d072 Mon Sep 17 00:00:00 2001
From: magestack
Date: Wed, 17 May 2023 19:00:57 +0800
Subject: [PATCH 8/9] Public module removes spring dependency (#1293)
---
.../handler/CustomerClientNetworkService.java | 2 +-
... cn.hippo4j.core.api.ClientNetworkService} | 0
... cn.hippo4j.core.api.ClientNetworkService} | 0
infra/common/pom.xml | 31 ++--
.../common/api/ClientCloseHookExecute.java | 4 +-
.../support/BlockingQueueTypeEnum.java | 2 +-
.../support/RejectedPolicyTypeEnum.java | 6 +-
.../ServiceLoaderInstantiationException.java | 2 +-
.../ServiceLoaderRegistry.java | 5 +-
.../{annotation => spi}/SingletonSPI.java | 3 +-
.../cn/hippo4j/common/toolkit/Assert.java | 13 +-
.../cn/hippo4j/common/toolkit/GroupKey.java | 3 +-
.../hippo4j/common/toolkit/ReflectUtil.java | 16 +-
.../cn/hippo4j/common/toolkit/StringUtil.java | 26 +++
.../main/resources/META-INF/spring.factories | 2 +-
...ommon.executor.support.CustomBlockingQueue | 1 -
.../cn.hippo4j.common.extension.spi.IOldSpi | 1 -
.../AlibabaDubboAdapterAutoConfiguration.java | 2 +-
.../dubbo/DubboAdapterAutoConfiguration.java | 2 +-
.../dubbo/DubboxAdapterAutoConfiguration.java | 2 +-
.../HystrixAdapterAutoConfiguration.java | 2 +-
.../kafka/KafkaAdapterAutoConfiguration.java | 2 +-
.../RabbitMQAdapterAutoConfiguration.java | 2 +-
.../RocketMQAdapterAutoConfiguration.java | 2 +-
...treamRabbitMQAdapterAutoConfiguration.java | 2 +-
...treamRocketMQAdapterAutoConfiguration.java | 2 +-
.../adapter/web/WebAdapterConfiguration.java | 2 +-
.../web/AbstractWebThreadPoolService1x.java | 2 +-
.../DynamicThreadPoolAutoConfiguration.java | 4 +-
.../monitor/ThreadPoolMonitorExecutor.java | 4 +-
...bstractConfigThreadPoolDynamicRefresh.java | 2 +-
.../refresher/NacosCloudRefresherHandler.java | 2 +-
.../AdapterExecutorsRefreshListener.java | 2 +-
.../event/PlatformsRefreshListener.java | 2 +-
.../event/WebExecutorRefreshListener.java | 2 +-
.../DynamicThreadPoolPostProcessor.java | 2 +-
.../DynamicThreadPoolAutoConfiguration.java | 4 +-
.../ThreadPoolAdapterController.java | 4 +-
.../starter/core/DiscoveryClient.java | 2 +-
.../core/ThreadPoolAdapterRegister.java | 2 +-
.../monitor/ReportingEventExecutor.java | 4 +-
.../provider/InstanceInfoProviderFactory.java | 4 +-
.../starter/remote/ServerHttpAgent.java | 2 +-
.../DynamicThreadPoolPostProcessor.java | 2 +-
threadpool/adapter/base/pom.xml | 2 +-
.../base/ThreadPoolAdapterBeanContainer.java | 2 +-
.../HystrixThreadPoolAdapter4Server.java | 2 +-
.../adapter/kafka/KafkaThreadPoolAdapter.java | 4 +-
.../rocketmq/RocketMQThreadPoolAdapter.java | 2 +-
...gCloudStreamRabbitMQThreadPoolAdapter.java | 2 +-
...gCloudStreamRocketMQThreadPoolAdapter.java | 2 +-
.../DefaultAbstractWebThreadPoolService.java | 2 +-
.../adapter/web/WebIpAndPortHolder.java | 2 +-
.../web/WebThreadPoolHandlerChoose.java | 2 +-
threadpool/core/pom.xml | 4 +
.../core}/api/ClientNetworkService.java | 2 +-
.../core}/api/ThreadPoolCheckAlarm.java | 2 +-
.../config/ApplicationContextHolder.java | 2 +-
.../manage/GlobalThreadPoolManage.java | 2 +-
.../DynamicThreadPoolAdapterChoose.java | 2 +-
.../hippo4j/core}/extension/IExtension.java | 2 +-
.../core}/extension/IExtensionRequest.java | 2 +-
.../extension/annotation/Realization.java | 2 +-
.../config/ExtensionRegisterBootstrap.java | 8 +-
.../core}/extension/reducer/AllMatch.java | 6 +-
.../core}/extension/reducer/AnyMatch.java | 6 +-
.../core}/extension/reducer/FirstOf.java | 6 +-
.../hippo4j/core}/extension/reducer/None.java | 4 +-
.../core}/extension/reducer/Reducer.java | 10 +-
.../core}/extension/reducer/Reducers.java | 2 +-
.../support/ExtensionAutoConfiguration.java | 4 +-
.../extension/support/ExtensionCallback.java | 2 +-
.../extension/support/ExtensionInvoker.java | 9 +-
.../extension/support/ExtensionRegistry.java | 6 +-
.../extension/support/IExtensionRegistry.java | 4 +-
.../core}/extension/support/ReduceType.java | 2 +-
.../DynamicThreadPoolBannerHandler.java | 2 +-
.../impl/TaskRejectNotifyAlarmPlugin.java | 4 +-
.../impl/TaskTimeoutNotifyAlarmPlugin.java | 4 +-
.../proxy/RejectedProxyInvocationHandler.java | 4 +-
.../DynamicThreadPoolAnnotationUtil.java | 2 +-
.../cn/hippo4j/core}/toolkit/FileUtil.java | 9 +-
.../cn/hippo4j/core/toolkit/IdentifyUtil.java | 6 +-
.../core}/extension/ExtensionInvokerTest.java | 25 +--
.../extension/anymatch/AnyMatchExtImplA.java | 4 +-
.../extension/anymatch/AnyMatchExtImplB.java | 4 +-
.../anymatch/IAnyMatchExtension.java | 4 +-
.../extension/firstof/FirstOfExtImplA.java | 4 +-
.../extension/firstof/FirstOfExtImplB.java | 4 +-
.../extension/firstof/IFirstOfExtension.java | 4 +-
.../hippo4j/core}/extension/spi/IOldSpi.java | 4 +-
.../core}/extension/spi/IOldSpiImplA.java | 2 +-
.../impl/TaskRejectNotifyAlarmPluginTest.java | 2 +-
.../TaskTimeoutNotifyAlarmPluginTest.java | 2 +-
.../RejectedProxyInvocationHandlerTest.java | 4 +-
.../DynamicThreadPoolServiceLoaderTest.java | 4 +-
.../core}/spi/MyArrayBlockingQueue.java | 2 +-
.../hippo4j/core}/spi/TestInterfaceSPI.java | 4 +-
.../core}/spi/TestInterfaceSPIImpl.java | 4 +-
.../core}/spi/TestSingletonInterfaceSPI.java | 6 +-
.../spi/TestSingletonInterfaceSPIImpl.java | 4 +-
.../hippo4j/core}/toolkit/FileUtilTest.java | 4 +-
...ommon.executor.support.CustomBlockingQueue | 1 +
.../cn.hippo4j.core.extension.spi.IOldSpi | 1 +
.../cn.hippo4j.core.spi.TestInterfaceSPI | 2 +-
...hippo4j.core.spi.TestSingletonInterfaceSPI | 2 +-
.../src/test/resources/test/test_utf8.txt | 0
.../platform/DingSendMessageHandler.java | 2 +-
.../platform/LarkSendMessageHandler.java | 2 +-
.../platform/WeChatSendMessageHandler.java | 2 +-
.../DefaultThreadPoolCheckAlarmHandler.java | 2 +-
.../Hippo4jBaseSendMessageService.java | 2 +-
.../AbstractAdapterThreadPoolMonitor.java | 2 +-
...ThreadPoolElasticSearchMonitorHandler.java | 4 +-
.../ElasticSearchClientHolder.java | 2 +-
...terThreadPoolMicrometerMonitorHandler.java | 2 +-
...micThreadPoolMicrometerMonitorHandler.java | 2 +-
...WebThreadPoolMicrometerMonitorHandler.java | 2 +-
.../java/cn/hippo4j/rpc/client/Client.java | 2 +-
.../hippo4j/rpc/client/ClientConnection.java | 2 +-
.../rpc/client/NettyClientConnection.java | 2 +-
.../java/cn/hippo4j/rpc/client/RPCClient.java | 2 +-
.../rpc/coder/CompactObjectOutputStream.java | 2 +-
.../cn/hippo4j/rpc/coder/NettyEncoder.java | 2 +-
.../hippo4j/rpc/discovery/ClassRegistry.java | 2 +-
.../rpc/discovery/DefaultInstance.java | 2 +-
.../rpc/discovery/DiscoveryAdapter.java | 2 +-
.../cn/hippo4j/rpc/discovery/Instance.java | 2 +-
.../cn/hippo4j/rpc/discovery/ServerPort.java | 2 +-
.../rpc/discovery/SpringContextInstance.java | 10 +-
.../hippo4j/rpc/exception/CoderException.java | 2 +-
.../rpc/exception/ConnectionException.java | 2 +-
.../rpc/exception/TimeOutException.java | 2 +-
.../handler/AbstractNettyHandlerManager.java | 2 +-
.../rpc/handler/AbstractNettyTakeHandler.java | 2 +-
.../hippo4j/rpc/handler/ConnectHandler.java | 2 +-
.../cn/hippo4j/rpc/handler/Connection.java | 2 +-
.../hippo4j/rpc/handler/HandlerManager.java | 2 +-
.../rpc/handler/NettyClientPoolHandler.java | 2 +-
.../rpc/handler/NettyClientTakeHandler.java | 2 +-
.../rpc/handler/NettyServerTakeHandler.java | 2 +-
.../cn/hippo4j/rpc/model/DefaultRequest.java | 2 +-
.../cn/hippo4j/rpc/model/DefaultResponse.java | 2 +-
.../java/cn/hippo4j/rpc/model/Request.java | 2 +-
.../java/cn/hippo4j/rpc/model/Response.java | 2 +-
.../rpc/server/NettyServerConnection.java | 2 +-
.../java/cn/hippo4j/rpc/server/RPCServer.java | 2 +-
.../java/cn/hippo4j/rpc/server/Server.java | 2 +-
.../hippo4j/rpc/server/ServerConnection.java | 2 +-
.../rpc/support/ClientFactoryBean.java | 170 ------------------
.../rpc/support/NettyClientSupport.java | 3 +-
.../hippo4j/rpc/support/NettyConnectPool.java | 2 +-
.../rpc/support/NettyConnectPoolHolder.java | 2 +-
.../hippo4j/rpc/support/NettyProxyCenter.java | 2 +-
.../rpc/support/NettyServerSupport.java | 2 +-
.../cn/hippo4j/rpc/support/ResultHolder.java | 2 +-
.../discovery/SpringContextInstanceTest.java | 12 +-
.../hippo4j/config/config/CommonConfig.java | 2 +-
.../monitor/QueryMonitorExecuteChoose.java | 2 +-
.../config/service/ConfigCacheService.java | 2 +-
.../service/biz/impl/ConfigServiceImpl.java | 2 +-
...ConfigModificationVerifyServiceChoose.java | 2 +-
.../controller/ClientCloseHookController.java | 6 +-
163 files changed, 289 insertions(+), 438 deletions(-)
rename examples/threadpool-example/server/adapter-stream-rocketmq/src/main/resources/META-INF/services/{cn.hippo4j.common.api.ClientNetworkService => cn.hippo4j.core.api.ClientNetworkService} (100%)
rename examples/threadpool-example/server/server/src/main/resources/META-INF/services/{cn.hippo4j.common.api.ClientNetworkService => cn.hippo4j.core.api.ClientNetworkService} (100%)
rename infra/common/src/main/java/cn/hippo4j/common/extension/{support => spi}/ServiceLoaderInstantiationException.java (96%)
rename infra/common/src/main/java/cn/hippo4j/common/extension/{support => spi}/ServiceLoaderRegistry.java (96%)
rename infra/common/src/main/java/cn/hippo4j/common/extension/{annotation => spi}/SingletonSPI.java (94%)
delete mode 100644 infra/common/src/test/resources/META-INF/services/cn.hippo4j.common.executor.support.CustomBlockingQueue
delete mode 100644 infra/common/src/test/resources/META-INF/services/cn.hippo4j.common.extension.spi.IOldSpi
rename {infra/common/src/main/java/cn/hippo4j/common => threadpool/core/src/main/java/cn/hippo4j/core}/api/ClientNetworkService.java (97%)
rename {infra/common/src/main/java/cn/hippo4j/common => threadpool/core/src/main/java/cn/hippo4j/core}/api/ThreadPoolCheckAlarm.java (99%)
rename {infra/common/src/main/java/cn/hippo4j/common => threadpool/core/src/main/java/cn/hippo4j/core}/config/ApplicationContextHolder.java (98%)
rename {infra/common/src/main/java/cn/hippo4j/common => threadpool/core/src/main/java/cn/hippo4j/core}/extension/IExtension.java (95%)
rename {infra/common/src/main/java/cn/hippo4j/common => threadpool/core/src/main/java/cn/hippo4j/core}/extension/IExtensionRequest.java (96%)
rename {infra/common/src/main/java/cn/hippo4j/common => threadpool/core/src/main/java/cn/hippo4j/core}/extension/annotation/Realization.java (96%)
rename {infra/common/src/main/java/cn/hippo4j/common => threadpool/core/src/main/java/cn/hippo4j/core}/extension/config/ExtensionRegisterBootstrap.java (91%)
rename {infra/common/src/main/java/cn/hippo4j/common => threadpool/core/src/main/java/cn/hippo4j/core}/extension/reducer/AllMatch.java (92%)
rename {infra/common/src/main/java/cn/hippo4j/common => threadpool/core/src/main/java/cn/hippo4j/core}/extension/reducer/AnyMatch.java (92%)
rename {infra/common/src/main/java/cn/hippo4j/common => threadpool/core/src/main/java/cn/hippo4j/core}/extension/reducer/FirstOf.java (91%)
rename {infra/common/src/main/java/cn/hippo4j/common => threadpool/core/src/main/java/cn/hippo4j/core}/extension/reducer/None.java (92%)
rename {infra/common/src/main/java/cn/hippo4j/common => threadpool/core/src/main/java/cn/hippo4j/core}/extension/reducer/Reducer.java (83%)
rename {infra/common/src/main/java/cn/hippo4j/common => threadpool/core/src/main/java/cn/hippo4j/core}/extension/reducer/Reducers.java (97%)
rename {infra/common/src/main/java/cn/hippo4j/common => threadpool/core/src/main/java/cn/hippo4j/core}/extension/support/ExtensionAutoConfiguration.java (90%)
rename {infra/common/src/main/java/cn/hippo4j/common => threadpool/core/src/main/java/cn/hippo4j/core}/extension/support/ExtensionCallback.java (95%)
rename {infra/common/src/main/java/cn/hippo4j/common => threadpool/core/src/main/java/cn/hippo4j/core}/extension/support/ExtensionInvoker.java (90%)
rename {infra/common/src/main/java/cn/hippo4j/common => threadpool/core/src/main/java/cn/hippo4j/core}/extension/support/ExtensionRegistry.java (95%)
rename {infra/common/src/main/java/cn/hippo4j/common => threadpool/core/src/main/java/cn/hippo4j/core}/extension/support/IExtensionRegistry.java (91%)
rename {infra/common/src/main/java/cn/hippo4j/common => threadpool/core/src/main/java/cn/hippo4j/core}/extension/support/ReduceType.java (95%)
rename {infra/common/src/main/java/cn/hippo4j/common => threadpool/core/src/main/java/cn/hippo4j/core}/toolkit/FileUtil.java (91%)
rename {infra/common/src/test/java/cn/hippo4j/common => threadpool/core/src/test/java/cn/hippo4j/core}/extension/ExtensionInvokerTest.java (78%)
rename {infra/common/src/test/java/cn/hippo4j/common => threadpool/core/src/test/java/cn/hippo4j/core}/extension/anymatch/AnyMatchExtImplA.java (90%)
rename {infra/common/src/test/java/cn/hippo4j/common => threadpool/core/src/test/java/cn/hippo4j/core}/extension/anymatch/AnyMatchExtImplB.java (90%)
rename {infra/common/src/test/java/cn/hippo4j/common => threadpool/core/src/test/java/cn/hippo4j/core}/extension/anymatch/IAnyMatchExtension.java (90%)
rename {infra/common/src/test/java/cn/hippo4j/common => threadpool/core/src/test/java/cn/hippo4j/core}/extension/firstof/FirstOfExtImplA.java (90%)
rename {infra/common/src/test/java/cn/hippo4j/common => threadpool/core/src/test/java/cn/hippo4j/core}/extension/firstof/FirstOfExtImplB.java (90%)
rename {infra/common/src/test/java/cn/hippo4j/common => threadpool/core/src/test/java/cn/hippo4j/core}/extension/firstof/IFirstOfExtension.java (90%)
rename {infra/common/src/test/java/cn/hippo4j/common => threadpool/core/src/test/java/cn/hippo4j/core}/extension/spi/IOldSpi.java (90%)
rename {infra/common/src/test/java/cn/hippo4j/common => threadpool/core/src/test/java/cn/hippo4j/core}/extension/spi/IOldSpiImplA.java (95%)
rename {infra/common/src/test/java/cn/hippo4j/common => threadpool/core/src/test/java/cn/hippo4j/core}/spi/DynamicThreadPoolServiceLoaderTest.java (97%)
rename {infra/common/src/test/java/cn/hippo4j/common => threadpool/core/src/test/java/cn/hippo4j/core}/spi/MyArrayBlockingQueue.java (97%)
rename {infra/common/src/test/java/cn/hippo4j/common => threadpool/core/src/test/java/cn/hippo4j/core}/spi/TestInterfaceSPI.java (90%)
rename {infra/common/src/test/java/cn/hippo4j/common => threadpool/core/src/test/java/cn/hippo4j/core}/spi/TestInterfaceSPIImpl.java (90%)
rename {infra/common/src/test/java/cn/hippo4j/common => threadpool/core/src/test/java/cn/hippo4j/core}/spi/TestSingletonInterfaceSPI.java (85%)
rename {infra/common/src/test/java/cn/hippo4j/common => threadpool/core/src/test/java/cn/hippo4j/core}/spi/TestSingletonInterfaceSPIImpl.java (90%)
rename {infra/common/src/test/java/cn/hippo4j/common => threadpool/core/src/test/java/cn/hippo4j/core}/toolkit/FileUtilTest.java (98%)
create mode 100644 threadpool/core/src/test/resources/META-INF/services/cn.hippo4j.common.executor.support.CustomBlockingQueue
create mode 100644 threadpool/core/src/test/resources/META-INF/services/cn.hippo4j.core.extension.spi.IOldSpi
rename infra/common/src/test/resources/META-INF/services/cn.hippo4j.common.spi.TestInterfaceSPI => threadpool/core/src/test/resources/META-INF/services/cn.hippo4j.core.spi.TestInterfaceSPI (94%)
rename infra/common/src/test/resources/META-INF/services/cn.hippo4j.common.spi.TestSingletonInterfaceSPI => threadpool/core/src/test/resources/META-INF/services/cn.hippo4j.core.spi.TestSingletonInterfaceSPI (93%)
rename {infra/common => threadpool/core}/src/test/resources/test/test_utf8.txt (100%)
delete mode 100644 threadpool/rpc/src/main/java/cn/hippo4j/rpc/support/ClientFactoryBean.java
diff --git a/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/handler/CustomerClientNetworkService.java b/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/handler/CustomerClientNetworkService.java
index 3070a043..d01f01bb 100644
--- a/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/handler/CustomerClientNetworkService.java
+++ b/examples/threadpool-example/example-core/src/main/java/cn/hippo4j/example/core/handler/CustomerClientNetworkService.java
@@ -17,7 +17,7 @@
package cn.hippo4j.example.core.handler;
-import cn.hippo4j.common.api.ClientNetworkService;
+import cn.hippo4j.core.api.ClientNetworkService;
import org.springframework.core.env.ConfigurableEnvironment;
/**
diff --git a/examples/threadpool-example/server/adapter-stream-rocketmq/src/main/resources/META-INF/services/cn.hippo4j.common.api.ClientNetworkService b/examples/threadpool-example/server/adapter-stream-rocketmq/src/main/resources/META-INF/services/cn.hippo4j.core.api.ClientNetworkService
similarity index 100%
rename from examples/threadpool-example/server/adapter-stream-rocketmq/src/main/resources/META-INF/services/cn.hippo4j.common.api.ClientNetworkService
rename to examples/threadpool-example/server/adapter-stream-rocketmq/src/main/resources/META-INF/services/cn.hippo4j.core.api.ClientNetworkService
diff --git a/examples/threadpool-example/server/server/src/main/resources/META-INF/services/cn.hippo4j.common.api.ClientNetworkService b/examples/threadpool-example/server/server/src/main/resources/META-INF/services/cn.hippo4j.core.api.ClientNetworkService
similarity index 100%
rename from examples/threadpool-example/server/server/src/main/resources/META-INF/services/cn.hippo4j.common.api.ClientNetworkService
rename to examples/threadpool-example/server/server/src/main/resources/META-INF/services/cn.hippo4j.core.api.ClientNetworkService
diff --git a/infra/common/pom.xml b/infra/common/pom.xml
index 767eb6ee..20f67cbb 100644
--- a/infra/common/pom.xml
+++ b/infra/common/pom.xml
@@ -14,14 +14,24 @@
com.fasterxml.jackson.corejackson-databind
-
- org.springframework.boot
- spring-boot-starter
- org.projectlomboklombok
+
+ com.github.ben-manes.caffeine
+ caffeine
+
+
+ com.github.dozermapper
+ dozer-core
+
+
+ org.springframework.boot
+ spring-boot-configuration-processor
+ true
+
+
org.springframework.bootspring-boot-starter-test
@@ -37,22 +47,11 @@
mockito-inlinetest
-
- com.github.ben-manes.caffeine
- caffeine
-
-
- com.github.dozermapper
- dozer-core
-
-
- org.springframework.boot
- spring-boot-configuration-processor
- org.apache.tomcat.embedtomcat-embed-coretest
+
diff --git a/infra/common/src/main/java/cn/hippo4j/common/api/ClientCloseHookExecute.java b/infra/common/src/main/java/cn/hippo4j/common/api/ClientCloseHookExecute.java
index 9bda7204..fba4248e 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/api/ClientCloseHookExecute.java
+++ b/infra/common/src/main/java/cn/hippo4j/common/api/ClientCloseHookExecute.java
@@ -28,9 +28,9 @@ public interface ClientCloseHookExecute {
/**
* Client close hook function execution.
*
- * @param req
+ * @param requestParam
*/
- void closeHook(ClientCloseHookReq req);
+ void closeHook(ClientCloseHookReq requestParam);
/**
* Client close hook req.
diff --git a/infra/common/src/main/java/cn/hippo4j/common/executor/support/BlockingQueueTypeEnum.java b/infra/common/src/main/java/cn/hippo4j/common/executor/support/BlockingQueueTypeEnum.java
index 933863ac..5928d2cc 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/executor/support/BlockingQueueTypeEnum.java
+++ b/infra/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.extension.support.ServiceLoaderRegistry;
+import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
import lombok.Getter;
import java.util.Collection;
diff --git a/infra/common/src/main/java/cn/hippo4j/common/executor/support/RejectedPolicyTypeEnum.java b/infra/common/src/main/java/cn/hippo4j/common/executor/support/RejectedPolicyTypeEnum.java
index 98272da1..651530d0 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/executor/support/RejectedPolicyTypeEnum.java
+++ b/infra/common/src/main/java/cn/hippo4j/common/executor/support/RejectedPolicyTypeEnum.java
@@ -17,12 +17,10 @@
package cn.hippo4j.common.executor.support;
-import cn.hippo4j.common.extension.support.ServiceLoaderRegistry;
+import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
import lombok.Getter;
-import java.util.Collection;
-import java.util.Objects;
-import java.util.Optional;
+import java.util.*;
import java.util.concurrent.RejectedExecutionHandler;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.stream.Stream;
diff --git a/infra/common/src/main/java/cn/hippo4j/common/extension/support/ServiceLoaderInstantiationException.java b/infra/common/src/main/java/cn/hippo4j/common/extension/spi/ServiceLoaderInstantiationException.java
similarity index 96%
rename from infra/common/src/main/java/cn/hippo4j/common/extension/support/ServiceLoaderInstantiationException.java
rename to infra/common/src/main/java/cn/hippo4j/common/extension/spi/ServiceLoaderInstantiationException.java
index 239817d1..f45b5009 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/extension/support/ServiceLoaderInstantiationException.java
+++ b/infra/common/src/main/java/cn/hippo4j/common/extension/spi/ServiceLoaderInstantiationException.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension.support;
+package cn.hippo4j.common.extension.spi;
/**
* Service loader instantiation exception.
diff --git a/infra/common/src/main/java/cn/hippo4j/common/extension/support/ServiceLoaderRegistry.java b/infra/common/src/main/java/cn/hippo4j/common/extension/spi/ServiceLoaderRegistry.java
similarity index 96%
rename from infra/common/src/main/java/cn/hippo4j/common/extension/support/ServiceLoaderRegistry.java
rename to infra/common/src/main/java/cn/hippo4j/common/extension/spi/ServiceLoaderRegistry.java
index 37d4a43d..5d6e7434 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/extension/support/ServiceLoaderRegistry.java
+++ b/infra/common/src/main/java/cn/hippo4j/common/extension/spi/ServiceLoaderRegistry.java
@@ -15,9 +15,7 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension.support;
-
-import cn.hippo4j.common.extension.annotation.SingletonSPI;
+package cn.hippo4j.common.extension.spi;
import java.lang.reflect.InvocationTargetException;
import java.util.Collection;
@@ -31,7 +29,6 @@ import java.util.stream.Collectors;
/**
* Dynamic thread-pool SPI service loader.
*/
-@Deprecated
public class ServiceLoaderRegistry {
/**
diff --git a/infra/common/src/main/java/cn/hippo4j/common/extension/annotation/SingletonSPI.java b/infra/common/src/main/java/cn/hippo4j/common/extension/spi/SingletonSPI.java
similarity index 94%
rename from infra/common/src/main/java/cn/hippo4j/common/extension/annotation/SingletonSPI.java
rename to infra/common/src/main/java/cn/hippo4j/common/extension/spi/SingletonSPI.java
index 7f1620ba..664e3cb4 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/extension/annotation/SingletonSPI.java
+++ b/infra/common/src/main/java/cn/hippo4j/common/extension/spi/SingletonSPI.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension.annotation;
+package cn.hippo4j.common.extension.spi;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
@@ -27,6 +27,5 @@ import java.lang.annotation.Target;
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
-@Deprecated
public @interface SingletonSPI {
}
diff --git a/infra/common/src/main/java/cn/hippo4j/common/toolkit/Assert.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/Assert.java
index 3dee268f..cfcc3ae7 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/toolkit/Assert.java
+++ b/infra/common/src/main/java/cn/hippo4j/common/toolkit/Assert.java
@@ -17,9 +17,6 @@
package cn.hippo4j.common.toolkit;
-import org.springframework.util.CollectionUtils;
-import org.springframework.util.StringUtils;
-
import java.util.Collection;
import java.util.Map;
@@ -65,7 +62,7 @@ public class Assert {
}
public static void notEmpty(Collection> collection, String message) {
- if (CollectionUtils.isEmpty(collection)) {
+ if (CollectionUtil.isEmpty(collection)) {
throw new IllegalArgumentException(message);
}
}
@@ -76,7 +73,7 @@ public class Assert {
}
public static void notEmpty(Map, ?> map, String message) {
- if (CollectionUtils.isEmpty(map)) {
+ if (CollectionUtil.isEmpty(map)) {
throw new IllegalArgumentException(message);
}
}
@@ -86,13 +83,13 @@ public class Assert {
}
public static void notEmpty(String str, String message) {
- if (StringUtils.isEmpty(str)) {
+ if (StringUtil.isEmpty(str)) {
throw new IllegalArgumentException(message);
}
}
public static void notEmpty(String str) {
- if (StringUtils.isEmpty(str)) {
+ if (StringUtil.isEmpty(str)) {
notEmpty(str, "[Assertion failed] - this string must not be empty");
}
}
@@ -108,7 +105,7 @@ public class Assert {
}
public static void hasText(String text, String message) {
- if (!StringUtils.hasText(text)) {
+ if (!StringUtil.hasText(text)) {
throw new IllegalArgumentException(message);
}
}
diff --git a/infra/common/src/main/java/cn/hippo4j/common/toolkit/GroupKey.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/GroupKey.java
index cea1792e..f694c038 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/toolkit/GroupKey.java
+++ b/infra/common/src/main/java/cn/hippo4j/common/toolkit/GroupKey.java
@@ -18,7 +18,6 @@
package cn.hippo4j.common.toolkit;
import cn.hippo4j.common.constant.Constants;
-import org.springframework.util.StringUtils;
import static cn.hippo4j.common.constant.Constants.GROUP_KEY_DELIMITER;
@@ -55,7 +54,7 @@ public class GroupKey {
urlEncode(dataId, sb);
sb.append(GROUP_KEY_DELIMITER);
urlEncode(group, sb);
- if (!StringUtils.isEmpty(datumStr)) {
+ if (!StringUtil.isEmpty(datumStr)) {
sb.append(GROUP_KEY_DELIMITER);
urlEncode(datumStr, sb);
}
diff --git a/infra/common/src/main/java/cn/hippo4j/common/toolkit/ReflectUtil.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/ReflectUtil.java
index 6f6c2efe..89181f01 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/toolkit/ReflectUtil.java
+++ b/infra/common/src/main/java/cn/hippo4j/common/toolkit/ReflectUtil.java
@@ -20,7 +20,6 @@ package cn.hippo4j.common.toolkit;
import cn.hippo4j.common.web.exception.IllegalException;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
-import org.springframework.cglib.core.ReflectUtils;
import java.lang.reflect.AccessibleObject;
import java.lang.reflect.Field;
@@ -308,17 +307,20 @@ public class ReflectUtil {
}
/**
- *
* @param clazz
* @param methodName
* @param parameterTypes
* @return
*/
- public static Method findDeclaredMethod(Class clazz, String methodName, Class[] parameterTypes) {
- try {
- return ReflectUtils.findDeclaredMethod(clazz, methodName, parameterTypes);
- } catch (NoSuchMethodException e) {
- throw new RuntimeException(e);
+ public static Method findDeclaredMethod(Class clazz, String methodName, Class[] parameterTypes) throws NoSuchMethodException {
+ Class cl = clazz;
+ while (cl != null) {
+ try {
+ return cl.getDeclaredMethod(methodName, parameterTypes);
+ } catch (NoSuchMethodException e) {
+ cl = cl.getSuperclass();
+ }
}
+ throw new NoSuchMethodException(methodName);
}
}
diff --git a/infra/common/src/main/java/cn/hippo4j/common/toolkit/StringUtil.java b/infra/common/src/main/java/cn/hippo4j/common/toolkit/StringUtil.java
index 1134b34b..d7f105a4 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/toolkit/StringUtil.java
+++ b/infra/common/src/main/java/cn/hippo4j/common/toolkit/StringUtil.java
@@ -362,4 +362,30 @@ public class StringUtil {
}
return str.substring(0, pos);
}
+
+ /**
+ * Determine whether it is a string.
+ *
+ * @param str string
+ * @return String returns true, non-string returns false
+ */
+ public static boolean hasText(String str) {
+ return (str != null && !str.isEmpty() && containsText(str));
+ }
+
+ /**
+ * Whether to contain a string.
+ *
+ * @param str str
+ * @return String returns true, non-string returns false
+ */
+ private static boolean containsText(CharSequence str) {
+ int strLen = str.length();
+ for (int i = 0; i < strLen; i++) {
+ if (!Character.isWhitespace(str.charAt(i))) {
+ return true;
+ }
+ }
+ return false;
+ }
}
diff --git a/infra/common/src/main/resources/META-INF/spring.factories b/infra/common/src/main/resources/META-INF/spring.factories
index 520aa9cd..097c5c2e 100644
--- a/infra/common/src/main/resources/META-INF/spring.factories
+++ b/infra/common/src/main/resources/META-INF/spring.factories
@@ -1 +1 @@
-org.springframework.boot.autoconfigure.EnableAutoConfiguration=cn.hippo4j.common.extension.support.ExtensionAutoConfiguration
\ No newline at end of file
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=cn.hippo4j.core.extension.support.ExtensionAutoConfiguration
\ No newline at end of file
diff --git a/infra/common/src/test/resources/META-INF/services/cn.hippo4j.common.executor.support.CustomBlockingQueue b/infra/common/src/test/resources/META-INF/services/cn.hippo4j.common.executor.support.CustomBlockingQueue
deleted file mode 100644
index 0df513e2..00000000
--- a/infra/common/src/test/resources/META-INF/services/cn.hippo4j.common.executor.support.CustomBlockingQueue
+++ /dev/null
@@ -1 +0,0 @@
-cn.hippo4j.common.spi.MyArrayBlockingQueue
\ No newline at end of file
diff --git a/infra/common/src/test/resources/META-INF/services/cn.hippo4j.common.extension.spi.IOldSpi b/infra/common/src/test/resources/META-INF/services/cn.hippo4j.common.extension.spi.IOldSpi
deleted file mode 100644
index 29dcbcac..00000000
--- a/infra/common/src/test/resources/META-INF/services/cn.hippo4j.common.extension.spi.IOldSpi
+++ /dev/null
@@ -1 +0,0 @@
-cn.hippo4j.common.extension.spi.IOldSpiImplA
\ No newline at end of file
diff --git a/starters/threadpool/adapter/alibaba-dubbo/src/main/java/cn/hippo4j/springboot/starter/adapter/alibaba/dubbo/AlibabaDubboAdapterAutoConfiguration.java b/starters/threadpool/adapter/alibaba-dubbo/src/main/java/cn/hippo4j/springboot/starter/adapter/alibaba/dubbo/AlibabaDubboAdapterAutoConfiguration.java
index 03d9fcfb..dc7cfb38 100644
--- a/starters/threadpool/adapter/alibaba-dubbo/src/main/java/cn/hippo4j/springboot/starter/adapter/alibaba/dubbo/AlibabaDubboAdapterAutoConfiguration.java
+++ b/starters/threadpool/adapter/alibaba-dubbo/src/main/java/cn/hippo4j/springboot/starter/adapter/alibaba/dubbo/AlibabaDubboAdapterAutoConfiguration.java
@@ -18,7 +18,7 @@
package cn.hippo4j.springboot.starter.adapter.alibaba.dubbo;
import cn.hippo4j.adapter.alibaba.dubbo.AlibabaDubboThreadPoolAdapter;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
diff --git a/starters/threadpool/adapter/dubbo/src/main/java/cn/hippo4j/springboot/starter/adapter/dubbo/DubboAdapterAutoConfiguration.java b/starters/threadpool/adapter/dubbo/src/main/java/cn/hippo4j/springboot/starter/adapter/dubbo/DubboAdapterAutoConfiguration.java
index badf3efd..632ba19d 100644
--- a/starters/threadpool/adapter/dubbo/src/main/java/cn/hippo4j/springboot/starter/adapter/dubbo/DubboAdapterAutoConfiguration.java
+++ b/starters/threadpool/adapter/dubbo/src/main/java/cn/hippo4j/springboot/starter/adapter/dubbo/DubboAdapterAutoConfiguration.java
@@ -18,7 +18,7 @@
package cn.hippo4j.springboot.starter.adapter.dubbo;
import cn.hippo4j.adapter.dubbo.DubboThreadPoolAdapter;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
diff --git a/starters/threadpool/adapter/dubbox/src/main/java/cn/hippo4j/springboot/starter/adapter/dubbo/DubboxAdapterAutoConfiguration.java b/starters/threadpool/adapter/dubbox/src/main/java/cn/hippo4j/springboot/starter/adapter/dubbo/DubboxAdapterAutoConfiguration.java
index ff760c53..51095944 100644
--- a/starters/threadpool/adapter/dubbox/src/main/java/cn/hippo4j/springboot/starter/adapter/dubbo/DubboxAdapterAutoConfiguration.java
+++ b/starters/threadpool/adapter/dubbox/src/main/java/cn/hippo4j/springboot/starter/adapter/dubbo/DubboxAdapterAutoConfiguration.java
@@ -19,7 +19,7 @@ package cn.hippo4j.springboot.starter.adapter.dubbo;
import cn.hippo4j.adapter.dubbo.DubboThreadPoolAdapter;
import cn.hippo4j.adapter.dubbo.DubboxThreadPoolAdapter;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
diff --git a/starters/threadpool/adapter/hystrix/src/main/java/cn/hippo4j/springboot/starter/adapter/hystrix/HystrixAdapterAutoConfiguration.java b/starters/threadpool/adapter/hystrix/src/main/java/cn/hippo4j/springboot/starter/adapter/hystrix/HystrixAdapterAutoConfiguration.java
index f8492a04..5fd67420 100644
--- a/starters/threadpool/adapter/hystrix/src/main/java/cn/hippo4j/springboot/starter/adapter/hystrix/HystrixAdapterAutoConfiguration.java
+++ b/starters/threadpool/adapter/hystrix/src/main/java/cn/hippo4j/springboot/starter/adapter/hystrix/HystrixAdapterAutoConfiguration.java
@@ -20,7 +20,7 @@ package cn.hippo4j.springboot.starter.adapter.hystrix;
import cn.hippo4j.adapter.hystrix.HystrixThreadPoolAdapter4Config;
import cn.hippo4j.adapter.hystrix.HystrixThreadPoolAdapter4Server;
import cn.hippo4j.adapter.hystrix.ThreadPoolAdapterScheduler;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
diff --git a/starters/threadpool/adapter/kafka/src/main/java/cn/hippo4j/springboot/starter/adapter/kafka/KafkaAdapterAutoConfiguration.java b/starters/threadpool/adapter/kafka/src/main/java/cn/hippo4j/springboot/starter/adapter/kafka/KafkaAdapterAutoConfiguration.java
index 24107d28..5a5b194f 100644
--- a/starters/threadpool/adapter/kafka/src/main/java/cn/hippo4j/springboot/starter/adapter/kafka/KafkaAdapterAutoConfiguration.java
+++ b/starters/threadpool/adapter/kafka/src/main/java/cn/hippo4j/springboot/starter/adapter/kafka/KafkaAdapterAutoConfiguration.java
@@ -18,7 +18,7 @@
package cn.hippo4j.springboot.starter.adapter.kafka;
import cn.hippo4j.adapter.kafka.KafkaThreadPoolAdapter;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
diff --git a/starters/threadpool/adapter/rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/rabbitmq/RabbitMQAdapterAutoConfiguration.java b/starters/threadpool/adapter/rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/rabbitmq/RabbitMQAdapterAutoConfiguration.java
index aec28c6d..85ea6a7f 100644
--- a/starters/threadpool/adapter/rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/rabbitmq/RabbitMQAdapterAutoConfiguration.java
+++ b/starters/threadpool/adapter/rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/rabbitmq/RabbitMQAdapterAutoConfiguration.java
@@ -20,7 +20,7 @@ package cn.hippo4j.springboot.starter.adapter.rabbitmq;
import java.util.Map;
import cn.hippo4j.adapter.rabbitmq.RabbitMQThreadPoolAdapter;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import lombok.RequiredArgsConstructor;
import org.springframework.amqp.rabbit.connection.AbstractConnectionFactory;
diff --git a/starters/threadpool/adapter/rocketmq/src/main/java/cn/hippo4j/springboot/starter/adapter/rocketmq/RocketMQAdapterAutoConfiguration.java b/starters/threadpool/adapter/rocketmq/src/main/java/cn/hippo4j/springboot/starter/adapter/rocketmq/RocketMQAdapterAutoConfiguration.java
index 02b73d71..bffc969f 100644
--- a/starters/threadpool/adapter/rocketmq/src/main/java/cn/hippo4j/springboot/starter/adapter/rocketmq/RocketMQAdapterAutoConfiguration.java
+++ b/starters/threadpool/adapter/rocketmq/src/main/java/cn/hippo4j/springboot/starter/adapter/rocketmq/RocketMQAdapterAutoConfiguration.java
@@ -18,7 +18,7 @@
package cn.hippo4j.springboot.starter.adapter.rocketmq;
import cn.hippo4j.adapter.rocketmq.RocketMQThreadPoolAdapter;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
diff --git a/starters/threadpool/adapter/stream-rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rabbitmq/SpringCloudStreamRabbitMQAdapterAutoConfiguration.java b/starters/threadpool/adapter/stream-rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rabbitmq/SpringCloudStreamRabbitMQAdapterAutoConfiguration.java
index 4d87afb9..a4c42221 100644
--- a/starters/threadpool/adapter/stream-rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rabbitmq/SpringCloudStreamRabbitMQAdapterAutoConfiguration.java
+++ b/starters/threadpool/adapter/stream-rabbitmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rabbitmq/SpringCloudStreamRabbitMQAdapterAutoConfiguration.java
@@ -18,7 +18,7 @@
package cn.hippo4j.springboot.starter.adapter.springcloud.stream.rabbitmq;
import cn.hippo4j.adapter.springcloud.stream.rabbitmq.SpringCloudStreamRabbitMQThreadPoolAdapter;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
diff --git a/starters/threadpool/adapter/stream-rocketmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rocketmq/SpringCloudStreamRocketMQAdapterAutoConfiguration.java b/starters/threadpool/adapter/stream-rocketmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rocketmq/SpringCloudStreamRocketMQAdapterAutoConfiguration.java
index 61d8ced8..0fd74718 100644
--- a/starters/threadpool/adapter/stream-rocketmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rocketmq/SpringCloudStreamRocketMQAdapterAutoConfiguration.java
+++ b/starters/threadpool/adapter/stream-rocketmq/src/main/java/cn/hippo4j/springboot/starter/adapter/springcloud/stream/rocketmq/SpringCloudStreamRocketMQAdapterAutoConfiguration.java
@@ -18,7 +18,7 @@
package cn.hippo4j.springboot.starter.adapter.springcloud.stream.rocketmq;
import cn.hippo4j.adapter.springcloud.stream.rocketmq.SpringCloudStreamRocketMQThreadPoolAdapter;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
diff --git a/starters/threadpool/adapter/web/src/main/java/cn/hippo4j/springboot/starter/adapter/web/WebAdapterConfiguration.java b/starters/threadpool/adapter/web/src/main/java/cn/hippo4j/springboot/starter/adapter/web/WebAdapterConfiguration.java
index 2765b2f7..af82973d 100644
--- a/starters/threadpool/adapter/web/src/main/java/cn/hippo4j/springboot/starter/adapter/web/WebAdapterConfiguration.java
+++ b/starters/threadpool/adapter/web/src/main/java/cn/hippo4j/springboot/starter/adapter/web/WebAdapterConfiguration.java
@@ -19,7 +19,7 @@ package cn.hippo4j.springboot.starter.adapter.web;
import cn.hippo4j.adapter.web.WebThreadPoolHandlerChoose;
import cn.hippo4j.adapter.web.WebThreadPoolRunStateHandler;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.core.executor.state.ThreadPoolRunStateHandler;
import cn.hippo4j.core.toolkit.inet.InetUtils;
import lombok.RequiredArgsConstructor;
diff --git a/starters/threadpool/config-spring-boot-1x/src/main/java/cn/hippo4j/config/springboot1x/starter/web/AbstractWebThreadPoolService1x.java b/starters/threadpool/config-spring-boot-1x/src/main/java/cn/hippo4j/config/springboot1x/starter/web/AbstractWebThreadPoolService1x.java
index f0213907..19acda1e 100644
--- a/starters/threadpool/config-spring-boot-1x/src/main/java/cn/hippo4j/config/springboot1x/starter/web/AbstractWebThreadPoolService1x.java
+++ b/starters/threadpool/config-spring-boot-1x/src/main/java/cn/hippo4j/config/springboot1x/starter/web/AbstractWebThreadPoolService1x.java
@@ -19,7 +19,7 @@ package cn.hippo4j.config.springboot1x.starter.web;
import cn.hippo4j.adapter.web.AbstractWebThreadPoolService;
import cn.hippo4j.adapter.web.IWebThreadPoolHandlerSupport;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.embedded.EmbeddedServletContainer;
import org.springframework.boot.context.embedded.EmbeddedWebApplicationContext;
diff --git a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/config/DynamicThreadPoolAutoConfiguration.java b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/config/DynamicThreadPoolAutoConfiguration.java
index 0d748f7e..70a0f707 100644
--- a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/config/DynamicThreadPoolAutoConfiguration.java
+++ b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/config/DynamicThreadPoolAutoConfiguration.java
@@ -18,8 +18,8 @@
package cn.hippo4j.config.springboot.starter.config;
import cn.hippo4j.adapter.web.WebThreadPoolService;
-import cn.hippo4j.common.api.ThreadPoolCheckAlarm;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.api.ThreadPoolCheckAlarm;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.toolkit.StringUtil;
import cn.hippo4j.config.springboot.starter.monitor.ThreadPoolMonitorExecutor;
import cn.hippo4j.config.springboot.starter.notify.ConfigModeNotifyConfigBuilder;
diff --git a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/monitor/ThreadPoolMonitorExecutor.java b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/monitor/ThreadPoolMonitorExecutor.java
index 5b91d02d..985da755 100644
--- a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/monitor/ThreadPoolMonitorExecutor.java
+++ b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/monitor/ThreadPoolMonitorExecutor.java
@@ -25,9 +25,9 @@ import java.util.Optional;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.design.builder.ThreadFactoryBuilder;
-import cn.hippo4j.common.extension.support.ServiceLoaderRegistry;
+import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
import cn.hippo4j.common.toolkit.StringUtil;
import cn.hippo4j.config.springboot.starter.config.BootstrapConfigProperties;
import cn.hippo4j.config.springboot.starter.config.MonitorProperties;
diff --git a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/AbstractConfigThreadPoolDynamicRefresh.java b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/AbstractConfigThreadPoolDynamicRefresh.java
index f9501559..73940f69 100644
--- a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/AbstractConfigThreadPoolDynamicRefresh.java
+++ b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/AbstractConfigThreadPoolDynamicRefresh.java
@@ -18,7 +18,7 @@
package cn.hippo4j.config.springboot.starter.refresher;
import cn.hippo4j.common.api.ThreadPoolDynamicRefresh;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.toolkit.CollectionUtil;
import cn.hippo4j.config.springboot.starter.config.BootstrapConfigProperties;
import cn.hippo4j.config.springboot.starter.parser.ConfigParserHandler;
diff --git a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/NacosCloudRefresherHandler.java b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/NacosCloudRefresherHandler.java
index 47aae1ed..739e4d06 100644
--- a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/NacosCloudRefresherHandler.java
+++ b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/NacosCloudRefresherHandler.java
@@ -17,7 +17,7 @@
package cn.hippo4j.config.springboot.starter.refresher;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import com.alibaba.cloud.nacos.NacosConfigProperties;
import com.alibaba.nacos.api.config.ConfigService;
import com.alibaba.nacos.api.config.listener.Listener;
diff --git a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/event/AdapterExecutorsRefreshListener.java b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/event/AdapterExecutorsRefreshListener.java
index f3a78962..2b518447 100644
--- a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/event/AdapterExecutorsRefreshListener.java
+++ b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/event/AdapterExecutorsRefreshListener.java
@@ -20,7 +20,7 @@ package cn.hippo4j.config.springboot.starter.refresher.event;
import cn.hippo4j.adapter.base.ThreadPoolAdapter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterParameter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterState;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.toolkit.BeanUtil;
import cn.hippo4j.common.toolkit.CollectionUtil;
import cn.hippo4j.config.springboot.starter.config.AdapterExecutorProperties;
diff --git a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/event/PlatformsRefreshListener.java b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/event/PlatformsRefreshListener.java
index 8191b0b5..5c726b97 100644
--- a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/event/PlatformsRefreshListener.java
+++ b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/event/PlatformsRefreshListener.java
@@ -17,7 +17,7 @@
package cn.hippo4j.config.springboot.starter.refresher.event;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.config.springboot.starter.config.BootstrapConfigProperties;
import cn.hippo4j.common.config.ExecutorProperties;
import cn.hippo4j.config.springboot.starter.notify.ConfigModeNotifyConfigBuilder;
diff --git a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/event/WebExecutorRefreshListener.java b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/event/WebExecutorRefreshListener.java
index 0baf43b3..ca068146 100644
--- a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/event/WebExecutorRefreshListener.java
+++ b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/refresher/event/WebExecutorRefreshListener.java
@@ -20,7 +20,7 @@ package cn.hippo4j.config.springboot.starter.refresher.event;
import cn.hippo4j.adapter.web.WebThreadPoolHandlerChoose;
import cn.hippo4j.adapter.web.WebThreadPoolService;
import cn.hippo4j.common.api.ThreadPoolConfigChange;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.model.ThreadPoolParameter;
import cn.hippo4j.common.model.ThreadPoolParameterInfo;
import cn.hippo4j.config.springboot.starter.config.BootstrapConfigProperties;
diff --git a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/support/DynamicThreadPoolPostProcessor.java b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/support/DynamicThreadPoolPostProcessor.java
index c50a2403..25326184 100644
--- a/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/support/DynamicThreadPoolPostProcessor.java
+++ b/starters/threadpool/config/src/main/java/cn/hippo4j/config/springboot/starter/support/DynamicThreadPoolPostProcessor.java
@@ -17,7 +17,7 @@
package cn.hippo4j.config.springboot.starter.support;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.constant.Constants;
import cn.hippo4j.common.executor.support.BlockingQueueTypeEnum;
import cn.hippo4j.common.executor.support.RejectedPolicyTypeEnum;
diff --git a/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/config/DynamicThreadPoolAutoConfiguration.java b/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/config/DynamicThreadPoolAutoConfiguration.java
index 5b9ee75a..dd3d21d3 100644
--- a/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/config/DynamicThreadPoolAutoConfiguration.java
+++ b/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/config/DynamicThreadPoolAutoConfiguration.java
@@ -20,10 +20,10 @@ package cn.hippo4j.springboot.starter.config;
import cn.hippo4j.adapter.base.ThreadPoolAdapterBeanContainer;
import cn.hippo4j.adapter.web.WebThreadPoolHandlerChoose;
import cn.hippo4j.common.api.ThreadDetailState;
-import cn.hippo4j.common.api.ThreadPoolCheckAlarm;
+import cn.hippo4j.core.api.ThreadPoolCheckAlarm;
import cn.hippo4j.common.api.ThreadPoolConfigChange;
import cn.hippo4j.common.api.ThreadPoolDynamicRefresh;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.constant.Constants;
import cn.hippo4j.core.config.UtilAutoConfiguration;
import cn.hippo4j.core.enable.MarkerConfiguration;
diff --git a/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/controller/ThreadPoolAdapterController.java b/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/controller/ThreadPoolAdapterController.java
index f697ea55..187f721e 100644
--- a/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/controller/ThreadPoolAdapterController.java
+++ b/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/controller/ThreadPoolAdapterController.java
@@ -20,8 +20,8 @@ package cn.hippo4j.springboot.starter.controller;
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.extension.support.ServiceLoaderRegistry;
+import cn.hippo4j.core.api.ClientNetworkService;
+import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
import cn.hippo4j.common.toolkit.StringUtil;
import cn.hippo4j.common.web.base.Result;
import cn.hippo4j.common.web.base.Results;
diff --git a/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/core/DiscoveryClient.java b/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/core/DiscoveryClient.java
index ce01cbcd..c706be4d 100644
--- a/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/core/DiscoveryClient.java
+++ b/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/core/DiscoveryClient.java
@@ -18,7 +18,7 @@
package cn.hippo4j.springboot.starter.core;
import cn.hippo4j.common.api.ClientCloseHookExecute;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.constant.Constants;
import cn.hippo4j.common.model.InstanceInfo;
import cn.hippo4j.common.web.base.Result;
diff --git a/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/core/ThreadPoolAdapterRegister.java b/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/core/ThreadPoolAdapterRegister.java
index 5460d96b..62b64bff 100644
--- a/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/core/ThreadPoolAdapterRegister.java
+++ b/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/core/ThreadPoolAdapterRegister.java
@@ -21,7 +21,7 @@ import cn.hippo4j.adapter.base.ThreadPoolAdapter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterCacheConfig;
import cn.hippo4j.adapter.base.ThreadPoolAdapterRegisterAction;
import cn.hippo4j.adapter.base.ThreadPoolAdapterState;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.toolkit.CollectionUtil;
import cn.hippo4j.common.web.base.Result;
import cn.hippo4j.core.toolkit.IdentifyUtil;
diff --git a/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/monitor/ReportingEventExecutor.java b/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/monitor/ReportingEventExecutor.java
index b908c3e6..7efc1411 100644
--- a/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/monitor/ReportingEventExecutor.java
+++ b/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/monitor/ReportingEventExecutor.java
@@ -17,10 +17,10 @@
package cn.hippo4j.springboot.starter.monitor;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.design.builder.ThreadFactoryBuilder;
import cn.hippo4j.common.monitor.Message;
-import cn.hippo4j.common.extension.support.ServiceLoaderRegistry;
+import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
import cn.hippo4j.common.toolkit.CollectionUtil;
import cn.hippo4j.common.toolkit.StringUtil;
import cn.hippo4j.common.toolkit.ThreadUtil;
diff --git a/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/provider/InstanceInfoProviderFactory.java b/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/provider/InstanceInfoProviderFactory.java
index 02b8f047..697557d1 100644
--- a/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/provider/InstanceInfoProviderFactory.java
+++ b/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/provider/InstanceInfoProviderFactory.java
@@ -17,9 +17,9 @@
package cn.hippo4j.springboot.starter.provider;
-import cn.hippo4j.common.api.ClientNetworkService;
+import cn.hippo4j.core.api.ClientNetworkService;
import cn.hippo4j.common.model.InstanceInfo;
-import cn.hippo4j.common.extension.support.ServiceLoaderRegistry;
+import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
import cn.hippo4j.common.toolkit.ContentUtil;
import cn.hippo4j.core.toolkit.IdentifyUtil;
import cn.hippo4j.core.toolkit.inet.InetUtils;
diff --git a/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/remote/ServerHttpAgent.java b/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/remote/ServerHttpAgent.java
index c507d12d..7ad8ca19 100644
--- a/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/remote/ServerHttpAgent.java
+++ b/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/remote/ServerHttpAgent.java
@@ -17,7 +17,7 @@
package cn.hippo4j.springboot.starter.remote;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.constant.Constants;
import cn.hippo4j.common.design.builder.ThreadFactoryBuilder;
import cn.hippo4j.common.toolkit.StringUtil;
diff --git a/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/support/DynamicThreadPoolPostProcessor.java b/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/support/DynamicThreadPoolPostProcessor.java
index c3bd82e1..0b7bbbdb 100644
--- a/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/support/DynamicThreadPoolPostProcessor.java
+++ b/starters/threadpool/server/src/main/java/cn/hippo4j/springboot/starter/support/DynamicThreadPoolPostProcessor.java
@@ -17,7 +17,7 @@
package cn.hippo4j.springboot.starter.support;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.constant.Constants;
import cn.hippo4j.common.enums.EnableEnum;
import cn.hippo4j.common.executor.support.BlockingQueueTypeEnum;
diff --git a/threadpool/adapter/base/pom.xml b/threadpool/adapter/base/pom.xml
index 2c253278..939675d7 100644
--- a/threadpool/adapter/base/pom.xml
+++ b/threadpool/adapter/base/pom.xml
@@ -12,7 +12,7 @@
cn.hippo4j
- hippo4j-threadpool-infra-common
+ hippo4j-threadpool-core${project.version}
diff --git a/threadpool/adapter/base/src/main/java/cn/hippo4j/adapter/base/ThreadPoolAdapterBeanContainer.java b/threadpool/adapter/base/src/main/java/cn/hippo4j/adapter/base/ThreadPoolAdapterBeanContainer.java
index a87b4743..1338dc5c 100644
--- a/threadpool/adapter/base/src/main/java/cn/hippo4j/adapter/base/ThreadPoolAdapterBeanContainer.java
+++ b/threadpool/adapter/base/src/main/java/cn/hippo4j/adapter/base/ThreadPoolAdapterBeanContainer.java
@@ -17,7 +17,7 @@
package cn.hippo4j.adapter.base;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import org.springframework.beans.factory.InitializingBean;
import java.util.Map;
diff --git a/threadpool/adapter/hystrix/src/main/java/cn/hippo4j/adapter/hystrix/HystrixThreadPoolAdapter4Server.java b/threadpool/adapter/hystrix/src/main/java/cn/hippo4j/adapter/hystrix/HystrixThreadPoolAdapter4Server.java
index 4a187a47..fbd5b94a 100644
--- a/threadpool/adapter/hystrix/src/main/java/cn/hippo4j/adapter/hystrix/HystrixThreadPoolAdapter4Server.java
+++ b/threadpool/adapter/hystrix/src/main/java/cn/hippo4j/adapter/hystrix/HystrixThreadPoolAdapter4Server.java
@@ -21,7 +21,7 @@ import cn.hippo4j.adapter.base.ThreadPoolAdapter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterCacheConfig;
import cn.hippo4j.adapter.base.ThreadPoolAdapterRegisterAction;
import cn.hippo4j.adapter.base.ThreadPoolAdapterState;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.event.ApplicationStartedEvent;
diff --git a/threadpool/adapter/kafka/src/main/java/cn/hippo4j/adapter/kafka/KafkaThreadPoolAdapter.java b/threadpool/adapter/kafka/src/main/java/cn/hippo4j/adapter/kafka/KafkaThreadPoolAdapter.java
index 1a2be842..44c8cace 100644
--- a/threadpool/adapter/kafka/src/main/java/cn/hippo4j/adapter/kafka/KafkaThreadPoolAdapter.java
+++ b/threadpool/adapter/kafka/src/main/java/cn/hippo4j/adapter/kafka/KafkaThreadPoolAdapter.java
@@ -20,8 +20,9 @@ package cn.hippo4j.adapter.kafka;
import cn.hippo4j.adapter.base.ThreadPoolAdapter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterParameter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterState;
-import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.common.toolkit.ReflectUtil;
+import cn.hippo4j.core.config.ApplicationContextHolder;
+import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.event.ApplicationStartedEvent;
import org.springframework.cglib.core.Constants;
@@ -147,6 +148,7 @@ public class KafkaThreadPoolAdapter implements ThreadPoolAdapter, ApplicationLis
* @return true success
* @since org.springframework.kafka.listener.ConcurrentMessageListenerContainer#doStart()
*/
+ @SneakyThrows
private static boolean addConsumer(String threadPoolKey, ConcurrentMessageListenerContainer concurrentContainer, int originalCoreSize, Integer concurrency) {
ContainerProperties containerProperties = concurrentContainer.getContainerProperties();
TopicPartitionOffset[] topicPartitions = containerProperties.getTopicPartitions();
diff --git a/threadpool/adapter/rocketmq/src/main/java/cn/hippo4j/adapter/rocketmq/RocketMQThreadPoolAdapter.java b/threadpool/adapter/rocketmq/src/main/java/cn/hippo4j/adapter/rocketmq/RocketMQThreadPoolAdapter.java
index 3fa91856..2334f0e3 100644
--- a/threadpool/adapter/rocketmq/src/main/java/cn/hippo4j/adapter/rocketmq/RocketMQThreadPoolAdapter.java
+++ b/threadpool/adapter/rocketmq/src/main/java/cn/hippo4j/adapter/rocketmq/RocketMQThreadPoolAdapter.java
@@ -20,9 +20,9 @@ package cn.hippo4j.adapter.rocketmq;
import cn.hippo4j.adapter.base.ThreadPoolAdapter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterParameter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterState;
-import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.common.toolkit.ReflectUtil;
import cn.hippo4j.common.toolkit.ThreadPoolExecutorUtil;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
import org.apache.rocketmq.client.impl.consumer.ConsumeMessageService;
diff --git a/threadpool/adapter/stream-rabbitmq/src/main/java/cn/hippo4j/adapter/springcloud/stream/rabbitmq/SpringCloudStreamRabbitMQThreadPoolAdapter.java b/threadpool/adapter/stream-rabbitmq/src/main/java/cn/hippo4j/adapter/springcloud/stream/rabbitmq/SpringCloudStreamRabbitMQThreadPoolAdapter.java
index d5b3326c..144dcfb2 100644
--- a/threadpool/adapter/stream-rabbitmq/src/main/java/cn/hippo4j/adapter/springcloud/stream/rabbitmq/SpringCloudStreamRabbitMQThreadPoolAdapter.java
+++ b/threadpool/adapter/stream-rabbitmq/src/main/java/cn/hippo4j/adapter/springcloud/stream/rabbitmq/SpringCloudStreamRabbitMQThreadPoolAdapter.java
@@ -20,9 +20,9 @@ package cn.hippo4j.adapter.springcloud.stream.rabbitmq;
import cn.hippo4j.adapter.base.ThreadPoolAdapter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterParameter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterState;
-import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.common.toolkit.CollectionUtil;
import cn.hippo4j.common.toolkit.ReflectUtil;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer;
import org.springframework.amqp.rabbit.listener.DirectMessageListenerContainer;
diff --git a/threadpool/adapter/stream-rocketmq/src/main/java/cn/hippo4j/adapter/springcloud/stream/rocketmq/SpringCloudStreamRocketMQThreadPoolAdapter.java b/threadpool/adapter/stream-rocketmq/src/main/java/cn/hippo4j/adapter/springcloud/stream/rocketmq/SpringCloudStreamRocketMQThreadPoolAdapter.java
index 12769cf3..10b11eab 100644
--- a/threadpool/adapter/stream-rocketmq/src/main/java/cn/hippo4j/adapter/springcloud/stream/rocketmq/SpringCloudStreamRocketMQThreadPoolAdapter.java
+++ b/threadpool/adapter/stream-rocketmq/src/main/java/cn/hippo4j/adapter/springcloud/stream/rocketmq/SpringCloudStreamRocketMQThreadPoolAdapter.java
@@ -20,10 +20,10 @@ package cn.hippo4j.adapter.springcloud.stream.rocketmq;
import cn.hippo4j.adapter.base.ThreadPoolAdapter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterParameter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterState;
-import cn.hippo4j.common.config.ApplicationContextHolder;
import cn.hippo4j.common.toolkit.CollectionUtil;
import cn.hippo4j.common.toolkit.ReflectUtil;
import cn.hippo4j.common.toolkit.ThreadPoolExecutorUtil;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import com.alibaba.cloud.stream.binder.rocketmq.consuming.RocketMQListenerBindingContainer;
import com.alibaba.cloud.stream.binder.rocketmq.integration.RocketMQInboundChannelAdapter;
import lombok.extern.slf4j.Slf4j;
diff --git a/threadpool/adapter/web/src/main/java/cn/hippo4j/adapter/web/DefaultAbstractWebThreadPoolService.java b/threadpool/adapter/web/src/main/java/cn/hippo4j/adapter/web/DefaultAbstractWebThreadPoolService.java
index 4d472c23..337a247c 100644
--- a/threadpool/adapter/web/src/main/java/cn/hippo4j/adapter/web/DefaultAbstractWebThreadPoolService.java
+++ b/threadpool/adapter/web/src/main/java/cn/hippo4j/adapter/web/DefaultAbstractWebThreadPoolService.java
@@ -17,7 +17,7 @@
package cn.hippo4j.adapter.web;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.web.context.WebServerApplicationContext;
import org.springframework.boot.web.server.WebServer;
diff --git a/threadpool/adapter/web/src/main/java/cn/hippo4j/adapter/web/WebIpAndPortHolder.java b/threadpool/adapter/web/src/main/java/cn/hippo4j/adapter/web/WebIpAndPortHolder.java
index dbe23f28..c2b4f2e2 100644
--- a/threadpool/adapter/web/src/main/java/cn/hippo4j/adapter/web/WebIpAndPortHolder.java
+++ b/threadpool/adapter/web/src/main/java/cn/hippo4j/adapter/web/WebIpAndPortHolder.java
@@ -17,7 +17,7 @@
package cn.hippo4j.adapter.web;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.model.WebIpAndPortInfo;
import cn.hippo4j.common.toolkit.Assert;
import cn.hippo4j.common.toolkit.StringUtil;
diff --git a/threadpool/adapter/web/src/main/java/cn/hippo4j/adapter/web/WebThreadPoolHandlerChoose.java b/threadpool/adapter/web/src/main/java/cn/hippo4j/adapter/web/WebThreadPoolHandlerChoose.java
index 1d94d379..71ef1fbe 100644
--- a/threadpool/adapter/web/src/main/java/cn/hippo4j/adapter/web/WebThreadPoolHandlerChoose.java
+++ b/threadpool/adapter/web/src/main/java/cn/hippo4j/adapter/web/WebThreadPoolHandlerChoose.java
@@ -17,7 +17,7 @@
package cn.hippo4j.adapter.web;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.web.exception.ServiceException;
import lombok.extern.slf4j.Slf4j;
diff --git a/threadpool/core/pom.xml b/threadpool/core/pom.xml
index fac63720..5002327f 100644
--- a/threadpool/core/pom.xml
+++ b/threadpool/core/pom.xml
@@ -15,6 +15,10 @@
hippo4j-threadpool-infra-common${project.version}
+
+ org.springframework.boot
+ spring-boot-starter
+ org.springframework.bootspring-boot-starter-test
diff --git a/infra/common/src/main/java/cn/hippo4j/common/api/ClientNetworkService.java b/threadpool/core/src/main/java/cn/hippo4j/core/api/ClientNetworkService.java
similarity index 97%
rename from infra/common/src/main/java/cn/hippo4j/common/api/ClientNetworkService.java
rename to threadpool/core/src/main/java/cn/hippo4j/core/api/ClientNetworkService.java
index 6db7b13d..28cf420f 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/api/ClientNetworkService.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/api/ClientNetworkService.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package cn.hippo4j.common.api;
+package cn.hippo4j.core.api;
import org.springframework.core.env.ConfigurableEnvironment;
diff --git a/infra/common/src/main/java/cn/hippo4j/common/api/ThreadPoolCheckAlarm.java b/threadpool/core/src/main/java/cn/hippo4j/core/api/ThreadPoolCheckAlarm.java
similarity index 99%
rename from infra/common/src/main/java/cn/hippo4j/common/api/ThreadPoolCheckAlarm.java
rename to threadpool/core/src/main/java/cn/hippo4j/core/api/ThreadPoolCheckAlarm.java
index 5c07bd98..25e32097 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/api/ThreadPoolCheckAlarm.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/api/ThreadPoolCheckAlarm.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package cn.hippo4j.common.api;
+package cn.hippo4j.core.api;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
diff --git a/infra/common/src/main/java/cn/hippo4j/common/config/ApplicationContextHolder.java b/threadpool/core/src/main/java/cn/hippo4j/core/config/ApplicationContextHolder.java
similarity index 98%
rename from infra/common/src/main/java/cn/hippo4j/common/config/ApplicationContextHolder.java
rename to threadpool/core/src/main/java/cn/hippo4j/core/config/ApplicationContextHolder.java
index 5c2eb3fe..e58fba14 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/config/ApplicationContextHolder.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/config/ApplicationContextHolder.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package cn.hippo4j.common.config;
+package cn.hippo4j.core.config;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/executor/manage/GlobalThreadPoolManage.java b/threadpool/core/src/main/java/cn/hippo4j/core/executor/manage/GlobalThreadPoolManage.java
index 4b189fec..90e89567 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/executor/manage/GlobalThreadPoolManage.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/executor/manage/GlobalThreadPoolManage.java
@@ -17,7 +17,7 @@
package cn.hippo4j.core.executor.manage;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.model.ThreadPoolParameter;
import cn.hippo4j.common.model.register.DynamicThreadPoolRegisterWrapper;
import cn.hippo4j.core.executor.DynamicThreadPoolWrapper;
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/adpter/DynamicThreadPoolAdapterChoose.java b/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/adpter/DynamicThreadPoolAdapterChoose.java
index 528eaa5e..9dc940e9 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/executor/support/adpter/DynamicThreadPoolAdapterChoose.java
+++ b/threadpool/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.extension.support.ServiceLoaderRegistry;
+import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
import cn.hippo4j.common.toolkit.CollectionUtil;
import cn.hippo4j.core.executor.DynamicThreadPoolExecutor;
import cn.hippo4j.core.executor.support.spi.DynamicThreadPoolAdapterSPI;
diff --git a/infra/common/src/main/java/cn/hippo4j/common/extension/IExtension.java b/threadpool/core/src/main/java/cn/hippo4j/core/extension/IExtension.java
similarity index 95%
rename from infra/common/src/main/java/cn/hippo4j/common/extension/IExtension.java
rename to threadpool/core/src/main/java/cn/hippo4j/core/extension/IExtension.java
index cae01c93..9e28efcb 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/extension/IExtension.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/extension/IExtension.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension;
+package cn.hippo4j.core.extension;
/**
* Top level interface of extension-point.
diff --git a/infra/common/src/main/java/cn/hippo4j/common/extension/IExtensionRequest.java b/threadpool/core/src/main/java/cn/hippo4j/core/extension/IExtensionRequest.java
similarity index 96%
rename from infra/common/src/main/java/cn/hippo4j/common/extension/IExtensionRequest.java
rename to threadpool/core/src/main/java/cn/hippo4j/core/extension/IExtensionRequest.java
index 1ad5e14e..9414b670 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/extension/IExtensionRequest.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/extension/IExtensionRequest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension;
+package cn.hippo4j.core.extension;
/**
* Top level interface of extension-point request obj.
diff --git a/infra/common/src/main/java/cn/hippo4j/common/extension/annotation/Realization.java b/threadpool/core/src/main/java/cn/hippo4j/core/extension/annotation/Realization.java
similarity index 96%
rename from infra/common/src/main/java/cn/hippo4j/common/extension/annotation/Realization.java
rename to threadpool/core/src/main/java/cn/hippo4j/core/extension/annotation/Realization.java
index 98da0631..b67a58ca 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/extension/annotation/Realization.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/extension/annotation/Realization.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension.annotation;
+package cn.hippo4j.core.extension.annotation;
import org.springframework.stereotype.Component;
diff --git a/infra/common/src/main/java/cn/hippo4j/common/extension/config/ExtensionRegisterBootstrap.java b/threadpool/core/src/main/java/cn/hippo4j/core/extension/config/ExtensionRegisterBootstrap.java
similarity index 91%
rename from infra/common/src/main/java/cn/hippo4j/common/extension/config/ExtensionRegisterBootstrap.java
rename to threadpool/core/src/main/java/cn/hippo4j/core/extension/config/ExtensionRegisterBootstrap.java
index d1ee6baf..c3fc0f07 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/extension/config/ExtensionRegisterBootstrap.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/extension/config/ExtensionRegisterBootstrap.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension.config;
+package cn.hippo4j.core.extension.config;
-import cn.hippo4j.common.extension.IExtension;
-import cn.hippo4j.common.extension.annotation.Realization;
-import cn.hippo4j.common.extension.support.ExtensionRegistry;
+import cn.hippo4j.core.extension.IExtension;
+import cn.hippo4j.core.extension.annotation.Realization;
+import cn.hippo4j.core.extension.support.ExtensionRegistry;
import org.springframework.aop.scope.ScopedProxyUtils;
import org.springframework.beans.BeansException;
import org.springframework.boot.ApplicationArguments;
diff --git a/infra/common/src/main/java/cn/hippo4j/common/extension/reducer/AllMatch.java b/threadpool/core/src/main/java/cn/hippo4j/core/extension/reducer/AllMatch.java
similarity index 92%
rename from infra/common/src/main/java/cn/hippo4j/common/extension/reducer/AllMatch.java
rename to threadpool/core/src/main/java/cn/hippo4j/core/extension/reducer/AllMatch.java
index f1f37e7f..604bf0e4 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/extension/reducer/AllMatch.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/extension/reducer/AllMatch.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension.reducer;
+package cn.hippo4j.core.extension.reducer;
-import cn.hippo4j.common.extension.IExtension;
-import cn.hippo4j.common.extension.support.ReduceType;
+import cn.hippo4j.core.extension.IExtension;
+import cn.hippo4j.core.extension.support.ReduceType;
import cn.hippo4j.common.toolkit.CollectionUtil;
import lombok.Getter;
import lombok.NonNull;
diff --git a/infra/common/src/main/java/cn/hippo4j/common/extension/reducer/AnyMatch.java b/threadpool/core/src/main/java/cn/hippo4j/core/extension/reducer/AnyMatch.java
similarity index 92%
rename from infra/common/src/main/java/cn/hippo4j/common/extension/reducer/AnyMatch.java
rename to threadpool/core/src/main/java/cn/hippo4j/core/extension/reducer/AnyMatch.java
index 66305b00..3f19fd55 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/extension/reducer/AnyMatch.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/extension/reducer/AnyMatch.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension.reducer;
+package cn.hippo4j.core.extension.reducer;
-import cn.hippo4j.common.extension.IExtension;
-import cn.hippo4j.common.extension.support.ReduceType;
+import cn.hippo4j.core.extension.IExtension;
+import cn.hippo4j.core.extension.support.ReduceType;
import cn.hippo4j.common.toolkit.CollectionUtil;
import lombok.Getter;
import lombok.NonNull;
diff --git a/infra/common/src/main/java/cn/hippo4j/common/extension/reducer/FirstOf.java b/threadpool/core/src/main/java/cn/hippo4j/core/extension/reducer/FirstOf.java
similarity index 91%
rename from infra/common/src/main/java/cn/hippo4j/common/extension/reducer/FirstOf.java
rename to threadpool/core/src/main/java/cn/hippo4j/core/extension/reducer/FirstOf.java
index c7aa6981..a148ae91 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/extension/reducer/FirstOf.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/extension/reducer/FirstOf.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension.reducer;
+package cn.hippo4j.core.extension.reducer;
-import cn.hippo4j.common.extension.IExtension;
-import cn.hippo4j.common.extension.support.ReduceType;
+import cn.hippo4j.core.extension.IExtension;
+import cn.hippo4j.core.extension.support.ReduceType;
import lombok.NonNull;
import java.util.Objects;
diff --git a/infra/common/src/main/java/cn/hippo4j/common/extension/reducer/None.java b/threadpool/core/src/main/java/cn/hippo4j/core/extension/reducer/None.java
similarity index 92%
rename from infra/common/src/main/java/cn/hippo4j/common/extension/reducer/None.java
rename to threadpool/core/src/main/java/cn/hippo4j/core/extension/reducer/None.java
index 3280a832..db2c1fcc 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/extension/reducer/None.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/extension/reducer/None.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension.reducer;
+package cn.hippo4j.core.extension.reducer;
-import cn.hippo4j.common.extension.support.ReduceType;
+import cn.hippo4j.core.extension.support.ReduceType;
import java.util.List;
import java.util.stream.Collectors;
diff --git a/infra/common/src/main/java/cn/hippo4j/common/extension/reducer/Reducer.java b/threadpool/core/src/main/java/cn/hippo4j/core/extension/reducer/Reducer.java
similarity index 83%
rename from infra/common/src/main/java/cn/hippo4j/common/extension/reducer/Reducer.java
rename to threadpool/core/src/main/java/cn/hippo4j/core/extension/reducer/Reducer.java
index 2f3414ec..1fc2c2d3 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/extension/reducer/Reducer.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/extension/reducer/Reducer.java
@@ -15,12 +15,12 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension.reducer;
+package cn.hippo4j.core.extension.reducer;
-import cn.hippo4j.common.extension.IExtension;
-import cn.hippo4j.common.extension.IExtensionRequest;
-import cn.hippo4j.common.extension.support.ExtensionCallback;
-import cn.hippo4j.common.extension.support.ReduceType;
+import cn.hippo4j.core.extension.IExtension;
+import cn.hippo4j.core.extension.IExtensionRequest;
+import cn.hippo4j.core.extension.support.ExtensionCallback;
+import cn.hippo4j.core.extension.support.ReduceType;
import lombok.Getter;
import lombok.Setter;
diff --git a/infra/common/src/main/java/cn/hippo4j/common/extension/reducer/Reducers.java b/threadpool/core/src/main/java/cn/hippo4j/core/extension/reducer/Reducers.java
similarity index 97%
rename from infra/common/src/main/java/cn/hippo4j/common/extension/reducer/Reducers.java
rename to threadpool/core/src/main/java/cn/hippo4j/core/extension/reducer/Reducers.java
index b3ea7186..f2937205 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/extension/reducer/Reducers.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/extension/reducer/Reducers.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension.reducer;
+package cn.hippo4j.core.extension.reducer;
import lombok.NonNull;
diff --git a/infra/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionAutoConfiguration.java b/threadpool/core/src/main/java/cn/hippo4j/core/extension/support/ExtensionAutoConfiguration.java
similarity index 90%
rename from infra/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionAutoConfiguration.java
rename to threadpool/core/src/main/java/cn/hippo4j/core/extension/support/ExtensionAutoConfiguration.java
index 78736976..67975b85 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionAutoConfiguration.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/extension/support/ExtensionAutoConfiguration.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension.support;
+package cn.hippo4j.core.extension.support;
-import cn.hippo4j.common.extension.config.ExtensionRegisterBootstrap;
+import cn.hippo4j.core.extension.config.ExtensionRegisterBootstrap;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
diff --git a/infra/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionCallback.java b/threadpool/core/src/main/java/cn/hippo4j/core/extension/support/ExtensionCallback.java
similarity index 95%
rename from infra/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionCallback.java
rename to threadpool/core/src/main/java/cn/hippo4j/core/extension/support/ExtensionCallback.java
index 5c71fcb5..b083351f 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionCallback.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/extension/support/ExtensionCallback.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension.support;
+package cn.hippo4j.core.extension.support;
import java.util.function.Function;
diff --git a/infra/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionInvoker.java b/threadpool/core/src/main/java/cn/hippo4j/core/extension/support/ExtensionInvoker.java
similarity index 90%
rename from infra/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionInvoker.java
rename to threadpool/core/src/main/java/cn/hippo4j/core/extension/support/ExtensionInvoker.java
index 24d0465a..fd7a0100 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionInvoker.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/extension/support/ExtensionInvoker.java
@@ -15,11 +15,12 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension.support;
+package cn.hippo4j.core.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.extension.spi.ServiceLoaderRegistry;
+import cn.hippo4j.core.extension.IExtension;
+import cn.hippo4j.core.extension.reducer.Reducer;
+import cn.hippo4j.core.extension.reducer.Reducers;
import cn.hippo4j.common.toolkit.Assert;
import cn.hippo4j.common.toolkit.CollectionUtil;
diff --git a/infra/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionRegistry.java b/threadpool/core/src/main/java/cn/hippo4j/core/extension/support/ExtensionRegistry.java
similarity index 95%
rename from infra/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionRegistry.java
rename to threadpool/core/src/main/java/cn/hippo4j/core/extension/support/ExtensionRegistry.java
index b835446c..33178c5a 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/extension/support/ExtensionRegistry.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/extension/support/ExtensionRegistry.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension.support;
+package cn.hippo4j.core.extension.support;
-import cn.hippo4j.common.extension.IExtension;
-import cn.hippo4j.common.extension.annotation.Realization;
+import cn.hippo4j.core.extension.IExtension;
+import cn.hippo4j.core.extension.annotation.Realization;
import cn.hippo4j.common.toolkit.CollectionUtil;
import cn.hippo4j.common.toolkit.logtracing.LogMessage;
import lombok.extern.slf4j.Slf4j;
diff --git a/infra/common/src/main/java/cn/hippo4j/common/extension/support/IExtensionRegistry.java b/threadpool/core/src/main/java/cn/hippo4j/core/extension/support/IExtensionRegistry.java
similarity index 91%
rename from infra/common/src/main/java/cn/hippo4j/common/extension/support/IExtensionRegistry.java
rename to threadpool/core/src/main/java/cn/hippo4j/core/extension/support/IExtensionRegistry.java
index d1ffa3e2..9f3b5ae9 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/extension/support/IExtensionRegistry.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/extension/support/IExtensionRegistry.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension.support;
+package cn.hippo4j.core.extension.support;
-import cn.hippo4j.common.extension.IExtension;
+import cn.hippo4j.core.extension.IExtension;
import java.util.List;
diff --git a/infra/common/src/main/java/cn/hippo4j/common/extension/support/ReduceType.java b/threadpool/core/src/main/java/cn/hippo4j/core/extension/support/ReduceType.java
similarity index 95%
rename from infra/common/src/main/java/cn/hippo4j/common/extension/support/ReduceType.java
rename to threadpool/core/src/main/java/cn/hippo4j/core/extension/support/ReduceType.java
index 7a4fe9e4..f2ab125e 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/extension/support/ReduceType.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/extension/support/ReduceType.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension.support;
+package cn.hippo4j.core.extension.support;
public enum ReduceType {
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/handler/DynamicThreadPoolBannerHandler.java b/threadpool/core/src/main/java/cn/hippo4j/core/handler/DynamicThreadPoolBannerHandler.java
index 0b026412..521a3e47 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/handler/DynamicThreadPoolBannerHandler.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/handler/DynamicThreadPoolBannerHandler.java
@@ -70,7 +70,7 @@ public class DynamicThreadPoolBannerHandler implements InitializingBean {
while (padding.length() < STRAP_LINE_SIZE - (bannerVersion.length() + DYNAMIC_THREAD_POOL.length())) {
padding.append(" ");
}
- log.info(AnsiOutput.toString("\n", banner, AnsiColor.GREEN, DYNAMIC_THREAD_POOL, AnsiColor.DEFAULT,
+ System.out.println(AnsiOutput.toString(banner, AnsiColor.GREEN, DYNAMIC_THREAD_POOL, AnsiColor.DEFAULT,
padding.toString(), AnsiStyle.FAINT, bannerVersion, "\n\n", HIPPO4J_GITHUB, "\n", HIPPO4J_SITE, "\n"));
}
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/plugin/impl/TaskRejectNotifyAlarmPlugin.java b/threadpool/core/src/main/java/cn/hippo4j/core/plugin/impl/TaskRejectNotifyAlarmPlugin.java
index b1bb2c78..7c1ec674 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/plugin/impl/TaskRejectNotifyAlarmPlugin.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/plugin/impl/TaskRejectNotifyAlarmPlugin.java
@@ -17,8 +17,8 @@
package cn.hippo4j.core.plugin.impl;
-import cn.hippo4j.common.api.ThreadPoolCheckAlarm;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.api.ThreadPoolCheckAlarm;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.core.executor.ExtensibleThreadPoolExecutor;
import cn.hippo4j.core.plugin.RejectedAwarePlugin;
import lombok.NonNull;
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/plugin/impl/TaskTimeoutNotifyAlarmPlugin.java b/threadpool/core/src/main/java/cn/hippo4j/core/plugin/impl/TaskTimeoutNotifyAlarmPlugin.java
index be5726d3..2d949a13 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/plugin/impl/TaskTimeoutNotifyAlarmPlugin.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/plugin/impl/TaskTimeoutNotifyAlarmPlugin.java
@@ -17,8 +17,8 @@
package cn.hippo4j.core.plugin.impl;
-import cn.hippo4j.common.api.ThreadPoolCheckAlarm;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.api.ThreadPoolCheckAlarm;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.core.plugin.PluginRuntime;
import lombok.AllArgsConstructor;
import lombok.Getter;
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/proxy/RejectedProxyInvocationHandler.java b/threadpool/core/src/main/java/cn/hippo4j/core/proxy/RejectedProxyInvocationHandler.java
index 263cbcc3..ff6a1fb1 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/proxy/RejectedProxyInvocationHandler.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/proxy/RejectedProxyInvocationHandler.java
@@ -17,8 +17,8 @@
package cn.hippo4j.core.proxy;
-import cn.hippo4j.common.api.ThreadPoolCheckAlarm;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.api.ThreadPoolCheckAlarm;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/DynamicThreadPoolAnnotationUtil.java b/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/DynamicThreadPoolAnnotationUtil.java
index d4555505..7d1788da 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/DynamicThreadPoolAnnotationUtil.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/DynamicThreadPoolAnnotationUtil.java
@@ -17,7 +17,7 @@
package cn.hippo4j.core.toolkit;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
diff --git a/infra/common/src/main/java/cn/hippo4j/common/toolkit/FileUtil.java b/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/FileUtil.java
similarity index 91%
rename from infra/common/src/main/java/cn/hippo4j/common/toolkit/FileUtil.java
rename to threadpool/core/src/main/java/cn/hippo4j/core/toolkit/FileUtil.java
index 6df46504..f14bdfd4 100644
--- a/infra/common/src/main/java/cn/hippo4j/common/toolkit/FileUtil.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/FileUtil.java
@@ -15,18 +15,13 @@
* limitations under the License.
*/
-package cn.hippo4j.common.toolkit;
+package cn.hippo4j.core.toolkit;
import cn.hippo4j.common.web.exception.IllegalException;
import lombok.SneakyThrows;
import org.springframework.core.io.ClassPathResource;
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
+import java.io.*;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
diff --git a/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/IdentifyUtil.java b/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/IdentifyUtil.java
index 5874f5b7..3f6551b6 100644
--- a/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/IdentifyUtil.java
+++ b/threadpool/core/src/main/java/cn/hippo4j/core/toolkit/IdentifyUtil.java
@@ -17,9 +17,9 @@
package cn.hippo4j.core.toolkit;
-import cn.hippo4j.common.api.ClientNetworkService;
-import cn.hippo4j.common.config.ApplicationContextHolder;
-import cn.hippo4j.common.extension.support.ServiceLoaderRegistry;
+import cn.hippo4j.core.api.ClientNetworkService;
+import cn.hippo4j.core.config.ApplicationContextHolder;
+import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
import cn.hippo4j.common.toolkit.CollectionUtil;
import cn.hippo4j.common.toolkit.IdUtil;
import cn.hippo4j.common.toolkit.Joiner;
diff --git a/infra/common/src/test/java/cn/hippo4j/common/extension/ExtensionInvokerTest.java b/threadpool/core/src/test/java/cn/hippo4j/core/extension/ExtensionInvokerTest.java
similarity index 78%
rename from infra/common/src/test/java/cn/hippo4j/common/extension/ExtensionInvokerTest.java
rename to threadpool/core/src/test/java/cn/hippo4j/core/extension/ExtensionInvokerTest.java
index 78dd68e7..673c3464 100644
--- a/infra/common/src/test/java/cn/hippo4j/common/extension/ExtensionInvokerTest.java
+++ b/threadpool/core/src/test/java/cn/hippo4j/core/extension/ExtensionInvokerTest.java
@@ -15,19 +15,19 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension;
+package cn.hippo4j.core.extension;
-import cn.hippo4j.common.extension.anymatch.AnyMatchExtImplA;
-import cn.hippo4j.common.extension.anymatch.AnyMatchExtImplB;
-import cn.hippo4j.common.extension.anymatch.IAnyMatchExtension;
-import cn.hippo4j.common.extension.firstof.FirstOfExtImplA;
-import cn.hippo4j.common.extension.firstof.FirstOfExtImplB;
-import cn.hippo4j.common.extension.firstof.IFirstOfExtension;
-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.extension.support.ServiceLoaderRegistry;
+import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
+import cn.hippo4j.core.extension.anymatch.AnyMatchExtImplA;
+import cn.hippo4j.core.extension.anymatch.AnyMatchExtImplB;
+import cn.hippo4j.core.extension.anymatch.IAnyMatchExtension;
+import cn.hippo4j.core.extension.firstof.FirstOfExtImplA;
+import cn.hippo4j.core.extension.firstof.FirstOfExtImplB;
+import cn.hippo4j.core.extension.firstof.IFirstOfExtension;
+import cn.hippo4j.core.extension.reducer.Reducers;
+import cn.hippo4j.core.extension.spi.IOldSpi;
+import cn.hippo4j.core.extension.support.ExtensionInvoker;
+import cn.hippo4j.core.extension.support.ExtensionRegistry;
import org.assertj.core.util.Lists;
import org.junit.Before;
import org.junit.Test;
@@ -50,6 +50,7 @@ public class ExtensionInvokerTest {
ServiceLoaderRegistry.register(IOldSpi.class);
}
+
@Test
public void test() {
diff --git a/infra/common/src/test/java/cn/hippo4j/common/extension/anymatch/AnyMatchExtImplA.java b/threadpool/core/src/test/java/cn/hippo4j/core/extension/anymatch/AnyMatchExtImplA.java
similarity index 90%
rename from infra/common/src/test/java/cn/hippo4j/common/extension/anymatch/AnyMatchExtImplA.java
rename to threadpool/core/src/test/java/cn/hippo4j/core/extension/anymatch/AnyMatchExtImplA.java
index 75829c75..b9492a6e 100644
--- a/infra/common/src/test/java/cn/hippo4j/common/extension/anymatch/AnyMatchExtImplA.java
+++ b/threadpool/core/src/test/java/cn/hippo4j/core/extension/anymatch/AnyMatchExtImplA.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension.anymatch;
+package cn.hippo4j.core.extension.anymatch;
-import cn.hippo4j.common.extension.annotation.Realization;
+import cn.hippo4j.core.extension.annotation.Realization;
@Realization
public class AnyMatchExtImplA implements IAnyMatchExtension {
diff --git a/infra/common/src/test/java/cn/hippo4j/common/extension/anymatch/AnyMatchExtImplB.java b/threadpool/core/src/test/java/cn/hippo4j/core/extension/anymatch/AnyMatchExtImplB.java
similarity index 90%
rename from infra/common/src/test/java/cn/hippo4j/common/extension/anymatch/AnyMatchExtImplB.java
rename to threadpool/core/src/test/java/cn/hippo4j/core/extension/anymatch/AnyMatchExtImplB.java
index 8aef4d5d..74a8d844 100644
--- a/infra/common/src/test/java/cn/hippo4j/common/extension/anymatch/AnyMatchExtImplB.java
+++ b/threadpool/core/src/test/java/cn/hippo4j/core/extension/anymatch/AnyMatchExtImplB.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension.anymatch;
+package cn.hippo4j.core.extension.anymatch;
-import cn.hippo4j.common.extension.annotation.Realization;
+import cn.hippo4j.core.extension.annotation.Realization;
@Realization
public class AnyMatchExtImplB implements IAnyMatchExtension {
diff --git a/infra/common/src/test/java/cn/hippo4j/common/extension/anymatch/IAnyMatchExtension.java b/threadpool/core/src/test/java/cn/hippo4j/core/extension/anymatch/IAnyMatchExtension.java
similarity index 90%
rename from infra/common/src/test/java/cn/hippo4j/common/extension/anymatch/IAnyMatchExtension.java
rename to threadpool/core/src/test/java/cn/hippo4j/core/extension/anymatch/IAnyMatchExtension.java
index 94d9adec..8d4f3caf 100644
--- a/infra/common/src/test/java/cn/hippo4j/common/extension/anymatch/IAnyMatchExtension.java
+++ b/threadpool/core/src/test/java/cn/hippo4j/core/extension/anymatch/IAnyMatchExtension.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension.anymatch;
+package cn.hippo4j.core.extension.anymatch;
-import cn.hippo4j.common.extension.IExtension;
+import cn.hippo4j.core.extension.IExtension;
public interface IAnyMatchExtension extends IExtension {
diff --git a/infra/common/src/test/java/cn/hippo4j/common/extension/firstof/FirstOfExtImplA.java b/threadpool/core/src/test/java/cn/hippo4j/core/extension/firstof/FirstOfExtImplA.java
similarity index 90%
rename from infra/common/src/test/java/cn/hippo4j/common/extension/firstof/FirstOfExtImplA.java
rename to threadpool/core/src/test/java/cn/hippo4j/core/extension/firstof/FirstOfExtImplA.java
index b5a17c87..a702e28d 100644
--- a/infra/common/src/test/java/cn/hippo4j/common/extension/firstof/FirstOfExtImplA.java
+++ b/threadpool/core/src/test/java/cn/hippo4j/core/extension/firstof/FirstOfExtImplA.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension.firstof;
+package cn.hippo4j.core.extension.firstof;
-import cn.hippo4j.common.extension.annotation.Realization;
+import cn.hippo4j.core.extension.annotation.Realization;
@Realization
public class FirstOfExtImplA implements IFirstOfExtension {
diff --git a/infra/common/src/test/java/cn/hippo4j/common/extension/firstof/FirstOfExtImplB.java b/threadpool/core/src/test/java/cn/hippo4j/core/extension/firstof/FirstOfExtImplB.java
similarity index 90%
rename from infra/common/src/test/java/cn/hippo4j/common/extension/firstof/FirstOfExtImplB.java
rename to threadpool/core/src/test/java/cn/hippo4j/core/extension/firstof/FirstOfExtImplB.java
index 7128541a..9fb0ad87 100644
--- a/infra/common/src/test/java/cn/hippo4j/common/extension/firstof/FirstOfExtImplB.java
+++ b/threadpool/core/src/test/java/cn/hippo4j/core/extension/firstof/FirstOfExtImplB.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension.firstof;
+package cn.hippo4j.core.extension.firstof;
-import cn.hippo4j.common.extension.annotation.Realization;
+import cn.hippo4j.core.extension.annotation.Realization;
@Realization
public class FirstOfExtImplB implements IFirstOfExtension {
diff --git a/infra/common/src/test/java/cn/hippo4j/common/extension/firstof/IFirstOfExtension.java b/threadpool/core/src/test/java/cn/hippo4j/core/extension/firstof/IFirstOfExtension.java
similarity index 90%
rename from infra/common/src/test/java/cn/hippo4j/common/extension/firstof/IFirstOfExtension.java
rename to threadpool/core/src/test/java/cn/hippo4j/core/extension/firstof/IFirstOfExtension.java
index f7c8c333..ff720d5c 100644
--- a/infra/common/src/test/java/cn/hippo4j/common/extension/firstof/IFirstOfExtension.java
+++ b/threadpool/core/src/test/java/cn/hippo4j/core/extension/firstof/IFirstOfExtension.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension.firstof;
+package cn.hippo4j.core.extension.firstof;
-import cn.hippo4j.common.extension.IExtension;
+import cn.hippo4j.core.extension.IExtension;
public interface IFirstOfExtension extends IExtension {
diff --git a/infra/common/src/test/java/cn/hippo4j/common/extension/spi/IOldSpi.java b/threadpool/core/src/test/java/cn/hippo4j/core/extension/spi/IOldSpi.java
similarity index 90%
rename from infra/common/src/test/java/cn/hippo4j/common/extension/spi/IOldSpi.java
rename to threadpool/core/src/test/java/cn/hippo4j/core/extension/spi/IOldSpi.java
index 7391d6f1..e90facc6 100644
--- a/infra/common/src/test/java/cn/hippo4j/common/extension/spi/IOldSpi.java
+++ b/threadpool/core/src/test/java/cn/hippo4j/core/extension/spi/IOldSpi.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension.spi;
+package cn.hippo4j.core.extension.spi;
-import cn.hippo4j.common.extension.IExtension;
+import cn.hippo4j.core.extension.IExtension;
public interface IOldSpi extends IExtension {
diff --git a/infra/common/src/test/java/cn/hippo4j/common/extension/spi/IOldSpiImplA.java b/threadpool/core/src/test/java/cn/hippo4j/core/extension/spi/IOldSpiImplA.java
similarity index 95%
rename from infra/common/src/test/java/cn/hippo4j/common/extension/spi/IOldSpiImplA.java
rename to threadpool/core/src/test/java/cn/hippo4j/core/extension/spi/IOldSpiImplA.java
index d161b024..d17fd13d 100644
--- a/infra/common/src/test/java/cn/hippo4j/common/extension/spi/IOldSpiImplA.java
+++ b/threadpool/core/src/test/java/cn/hippo4j/core/extension/spi/IOldSpiImplA.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package cn.hippo4j.common.extension.spi;
+package cn.hippo4j.core.extension.spi;
public class IOldSpiImplA implements IOldSpi {
diff --git a/threadpool/core/src/test/java/cn/hippo4j/core/plugin/impl/TaskRejectNotifyAlarmPluginTest.java b/threadpool/core/src/test/java/cn/hippo4j/core/plugin/impl/TaskRejectNotifyAlarmPluginTest.java
index 8c1f1c65..c4494d72 100644
--- a/threadpool/core/src/test/java/cn/hippo4j/core/plugin/impl/TaskRejectNotifyAlarmPluginTest.java
+++ b/threadpool/core/src/test/java/cn/hippo4j/core/plugin/impl/TaskRejectNotifyAlarmPluginTest.java
@@ -17,7 +17,7 @@
package cn.hippo4j.core.plugin.impl;
-import cn.hippo4j.common.api.ThreadPoolCheckAlarm;
+import cn.hippo4j.core.api.ThreadPoolCheckAlarm;
import cn.hippo4j.common.toolkit.ThreadUtil;
import cn.hippo4j.core.executor.ExtensibleThreadPoolExecutor;
import cn.hippo4j.core.plugin.manager.DefaultThreadPoolPluginManager;
diff --git a/threadpool/core/src/test/java/cn/hippo4j/core/plugin/impl/TaskTimeoutNotifyAlarmPluginTest.java b/threadpool/core/src/test/java/cn/hippo4j/core/plugin/impl/TaskTimeoutNotifyAlarmPluginTest.java
index 92c7e310..1680442b 100644
--- a/threadpool/core/src/test/java/cn/hippo4j/core/plugin/impl/TaskTimeoutNotifyAlarmPluginTest.java
+++ b/threadpool/core/src/test/java/cn/hippo4j/core/plugin/impl/TaskTimeoutNotifyAlarmPluginTest.java
@@ -17,7 +17,7 @@
package cn.hippo4j.core.plugin.impl;
-import cn.hippo4j.common.api.ThreadPoolCheckAlarm;
+import cn.hippo4j.core.api.ThreadPoolCheckAlarm;
import cn.hippo4j.common.toolkit.ThreadUtil;
import cn.hippo4j.core.executor.ExtensibleThreadPoolExecutor;
import cn.hippo4j.core.plugin.manager.DefaultThreadPoolPluginManager;
diff --git a/threadpool/core/src/test/java/cn/hippo4j/core/proxy/RejectedProxyInvocationHandlerTest.java b/threadpool/core/src/test/java/cn/hippo4j/core/proxy/RejectedProxyInvocationHandlerTest.java
index 54f36bc4..663ef699 100644
--- a/threadpool/core/src/test/java/cn/hippo4j/core/proxy/RejectedProxyInvocationHandlerTest.java
+++ b/threadpool/core/src/test/java/cn/hippo4j/core/proxy/RejectedProxyInvocationHandlerTest.java
@@ -17,8 +17,8 @@
package cn.hippo4j.core.proxy;
-import cn.hippo4j.common.api.ThreadPoolCheckAlarm;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.api.ThreadPoolCheckAlarm;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import org.junit.Before;
import org.junit.Test;
import org.junit.jupiter.api.Assertions;
diff --git a/infra/common/src/test/java/cn/hippo4j/common/spi/DynamicThreadPoolServiceLoaderTest.java b/threadpool/core/src/test/java/cn/hippo4j/core/spi/DynamicThreadPoolServiceLoaderTest.java
similarity index 97%
rename from infra/common/src/test/java/cn/hippo4j/common/spi/DynamicThreadPoolServiceLoaderTest.java
rename to threadpool/core/src/test/java/cn/hippo4j/core/spi/DynamicThreadPoolServiceLoaderTest.java
index ddd3f317..86b0e5ae 100644
--- a/infra/common/src/test/java/cn/hippo4j/common/spi/DynamicThreadPoolServiceLoaderTest.java
+++ b/threadpool/core/src/test/java/cn/hippo4j/core/spi/DynamicThreadPoolServiceLoaderTest.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package cn.hippo4j.common.spi;
+package cn.hippo4j.core.spi;
import java.util.Collection;
-import cn.hippo4j.common.extension.support.ServiceLoaderRegistry;
+import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
import org.junit.Test;
import static org.hamcrest.MatcherAssert.assertThat;
diff --git a/infra/common/src/test/java/cn/hippo4j/common/spi/MyArrayBlockingQueue.java b/threadpool/core/src/test/java/cn/hippo4j/core/spi/MyArrayBlockingQueue.java
similarity index 97%
rename from infra/common/src/test/java/cn/hippo4j/common/spi/MyArrayBlockingQueue.java
rename to threadpool/core/src/test/java/cn/hippo4j/core/spi/MyArrayBlockingQueue.java
index 47408032..153d0c74 100644
--- a/infra/common/src/test/java/cn/hippo4j/common/spi/MyArrayBlockingQueue.java
+++ b/threadpool/core/src/test/java/cn/hippo4j/core/spi/MyArrayBlockingQueue.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package cn.hippo4j.common.spi;
+package cn.hippo4j.core.spi;
import cn.hippo4j.common.executor.support.CustomBlockingQueue;
diff --git a/infra/common/src/test/java/cn/hippo4j/common/spi/TestInterfaceSPI.java b/threadpool/core/src/test/java/cn/hippo4j/core/spi/TestInterfaceSPI.java
similarity index 90%
rename from infra/common/src/test/java/cn/hippo4j/common/spi/TestInterfaceSPI.java
rename to threadpool/core/src/test/java/cn/hippo4j/core/spi/TestInterfaceSPI.java
index 2851f7e9..1fc9368e 100644
--- a/infra/common/src/test/java/cn/hippo4j/common/spi/TestInterfaceSPI.java
+++ b/threadpool/core/src/test/java/cn/hippo4j/core/spi/TestInterfaceSPI.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package cn.hippo4j.common.spi;
+package cn.hippo4j.core.spi;
-import cn.hippo4j.common.extension.support.ServiceLoaderRegistry;
+import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
/**
* test {@link ServiceLoaderRegistry}
diff --git a/infra/common/src/test/java/cn/hippo4j/common/spi/TestInterfaceSPIImpl.java b/threadpool/core/src/test/java/cn/hippo4j/core/spi/TestInterfaceSPIImpl.java
similarity index 90%
rename from infra/common/src/test/java/cn/hippo4j/common/spi/TestInterfaceSPIImpl.java
rename to threadpool/core/src/test/java/cn/hippo4j/core/spi/TestInterfaceSPIImpl.java
index fc8b2779..85a8fda6 100644
--- a/infra/common/src/test/java/cn/hippo4j/common/spi/TestInterfaceSPIImpl.java
+++ b/threadpool/core/src/test/java/cn/hippo4j/core/spi/TestInterfaceSPIImpl.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package cn.hippo4j.common.spi;
+package cn.hippo4j.core.spi;
-import cn.hippo4j.common.extension.support.ServiceLoaderRegistry;
+import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
/**
* test {@link ServiceLoaderRegistry}
diff --git a/infra/common/src/test/java/cn/hippo4j/common/spi/TestSingletonInterfaceSPI.java b/threadpool/core/src/test/java/cn/hippo4j/core/spi/TestSingletonInterfaceSPI.java
similarity index 85%
rename from infra/common/src/test/java/cn/hippo4j/common/spi/TestSingletonInterfaceSPI.java
rename to threadpool/core/src/test/java/cn/hippo4j/core/spi/TestSingletonInterfaceSPI.java
index e530d6bb..8fe82bad 100644
--- a/infra/common/src/test/java/cn/hippo4j/common/spi/TestSingletonInterfaceSPI.java
+++ b/threadpool/core/src/test/java/cn/hippo4j/core/spi/TestSingletonInterfaceSPI.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package cn.hippo4j.common.spi;
+package cn.hippo4j.core.spi;
-import cn.hippo4j.common.extension.annotation.SingletonSPI;
-import cn.hippo4j.common.extension.support.ServiceLoaderRegistry;
+import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
+import cn.hippo4j.common.extension.spi.SingletonSPI;
/**
* test {@link ServiceLoaderRegistry}
diff --git a/infra/common/src/test/java/cn/hippo4j/common/spi/TestSingletonInterfaceSPIImpl.java b/threadpool/core/src/test/java/cn/hippo4j/core/spi/TestSingletonInterfaceSPIImpl.java
similarity index 90%
rename from infra/common/src/test/java/cn/hippo4j/common/spi/TestSingletonInterfaceSPIImpl.java
rename to threadpool/core/src/test/java/cn/hippo4j/core/spi/TestSingletonInterfaceSPIImpl.java
index 6aeb275f..8398109f 100644
--- a/infra/common/src/test/java/cn/hippo4j/common/spi/TestSingletonInterfaceSPIImpl.java
+++ b/threadpool/core/src/test/java/cn/hippo4j/core/spi/TestSingletonInterfaceSPIImpl.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package cn.hippo4j.common.spi;
+package cn.hippo4j.core.spi;
-import cn.hippo4j.common.extension.support.ServiceLoaderRegistry;
+import cn.hippo4j.common.extension.spi.ServiceLoaderRegistry;
/**
* test {@link ServiceLoaderRegistry}
diff --git a/infra/common/src/test/java/cn/hippo4j/common/toolkit/FileUtilTest.java b/threadpool/core/src/test/java/cn/hippo4j/core/toolkit/FileUtilTest.java
similarity index 98%
rename from infra/common/src/test/java/cn/hippo4j/common/toolkit/FileUtilTest.java
rename to threadpool/core/src/test/java/cn/hippo4j/core/toolkit/FileUtilTest.java
index b3b15b2e..3160c0bc 100644
--- a/infra/common/src/test/java/cn/hippo4j/common/toolkit/FileUtilTest.java
+++ b/threadpool/core/src/test/java/cn/hippo4j/core/toolkit/FileUtilTest.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package cn.hippo4j.common.toolkit;
+package cn.hippo4j.core.toolkit;
-import org.junit.Test;
import org.junit.Assert;
+import org.junit.Test;
import java.nio.charset.StandardCharsets;
import java.util.List;
diff --git a/threadpool/core/src/test/resources/META-INF/services/cn.hippo4j.common.executor.support.CustomBlockingQueue b/threadpool/core/src/test/resources/META-INF/services/cn.hippo4j.common.executor.support.CustomBlockingQueue
new file mode 100644
index 00000000..e897895b
--- /dev/null
+++ b/threadpool/core/src/test/resources/META-INF/services/cn.hippo4j.common.executor.support.CustomBlockingQueue
@@ -0,0 +1 @@
+cn.hippo4j.core.spi.MyArrayBlockingQueue
\ No newline at end of file
diff --git a/threadpool/core/src/test/resources/META-INF/services/cn.hippo4j.core.extension.spi.IOldSpi b/threadpool/core/src/test/resources/META-INF/services/cn.hippo4j.core.extension.spi.IOldSpi
new file mode 100644
index 00000000..730cea11
--- /dev/null
+++ b/threadpool/core/src/test/resources/META-INF/services/cn.hippo4j.core.extension.spi.IOldSpi
@@ -0,0 +1 @@
+cn.hippo4j.core.extension.spi.IOldSpiImplA
\ No newline at end of file
diff --git a/infra/common/src/test/resources/META-INF/services/cn.hippo4j.common.spi.TestInterfaceSPI b/threadpool/core/src/test/resources/META-INF/services/cn.hippo4j.core.spi.TestInterfaceSPI
similarity index 94%
rename from infra/common/src/test/resources/META-INF/services/cn.hippo4j.common.spi.TestInterfaceSPI
rename to threadpool/core/src/test/resources/META-INF/services/cn.hippo4j.core.spi.TestInterfaceSPI
index 66d393f8..2e4b0c6e 100644
--- a/infra/common/src/test/resources/META-INF/services/cn.hippo4j.common.spi.TestInterfaceSPI
+++ b/threadpool/core/src/test/resources/META-INF/services/cn.hippo4j.core.spi.TestInterfaceSPI
@@ -15,4 +15,4 @@
# limitations under the License.
#
-cn.hippo4j.common.spi.TestInterfaceSPIImpl
\ No newline at end of file
+cn.hippo4j.core.spi.TestInterfaceSPIImpl
\ No newline at end of file
diff --git a/infra/common/src/test/resources/META-INF/services/cn.hippo4j.common.spi.TestSingletonInterfaceSPI b/threadpool/core/src/test/resources/META-INF/services/cn.hippo4j.core.spi.TestSingletonInterfaceSPI
similarity index 93%
rename from infra/common/src/test/resources/META-INF/services/cn.hippo4j.common.spi.TestSingletonInterfaceSPI
rename to threadpool/core/src/test/resources/META-INF/services/cn.hippo4j.core.spi.TestSingletonInterfaceSPI
index bcfaa43b..86a6cfe6 100644
--- a/infra/common/src/test/resources/META-INF/services/cn.hippo4j.common.spi.TestSingletonInterfaceSPI
+++ b/threadpool/core/src/test/resources/META-INF/services/cn.hippo4j.core.spi.TestSingletonInterfaceSPI
@@ -15,4 +15,4 @@
# limitations under the License.
#
-cn.hippo4j.common.spi.TestSingletonInterfaceSPIImpl
\ No newline at end of file
+cn.hippo4j.core.spi.TestSingletonInterfaceSPIImpl
\ No newline at end of file
diff --git a/infra/common/src/test/resources/test/test_utf8.txt b/threadpool/core/src/test/resources/test/test_utf8.txt
similarity index 100%
rename from infra/common/src/test/resources/test/test_utf8.txt
rename to threadpool/core/src/test/resources/test/test_utf8.txt
diff --git a/threadpool/message/src/main/java/cn/hippo4j/message/platform/DingSendMessageHandler.java b/threadpool/message/src/main/java/cn/hippo4j/message/platform/DingSendMessageHandler.java
index c92ea715..e915f622 100644
--- a/threadpool/message/src/main/java/cn/hippo4j/message/platform/DingSendMessageHandler.java
+++ b/threadpool/message/src/main/java/cn/hippo4j/message/platform/DingSendMessageHandler.java
@@ -19,11 +19,11 @@ package cn.hippo4j.message.platform;
import cn.hippo4j.common.toolkit.Assert;
import cn.hippo4j.common.toolkit.CollectionUtil;
-import cn.hippo4j.common.toolkit.FileUtil;
import cn.hippo4j.common.toolkit.JSONUtil;
import cn.hippo4j.common.toolkit.Singleton;
import cn.hippo4j.common.toolkit.StringUtil;
import cn.hippo4j.common.toolkit.http.HttpUtil;
+import cn.hippo4j.core.toolkit.FileUtil;
import cn.hippo4j.message.dto.NotifyConfigDTO;
import cn.hippo4j.message.enums.NotifyPlatformEnum;
import cn.hippo4j.message.platform.base.AbstractRobotSendMessageHandler;
diff --git a/threadpool/message/src/main/java/cn/hippo4j/message/platform/LarkSendMessageHandler.java b/threadpool/message/src/main/java/cn/hippo4j/message/platform/LarkSendMessageHandler.java
index 6de50aab..dce2e378 100644
--- a/threadpool/message/src/main/java/cn/hippo4j/message/platform/LarkSendMessageHandler.java
+++ b/threadpool/message/src/main/java/cn/hippo4j/message/platform/LarkSendMessageHandler.java
@@ -18,11 +18,11 @@
package cn.hippo4j.message.platform;
import cn.hippo4j.common.toolkit.Assert;
-import cn.hippo4j.common.toolkit.FileUtil;
import cn.hippo4j.common.toolkit.JSONUtil;
import cn.hippo4j.common.toolkit.Singleton;
import cn.hippo4j.common.toolkit.StringUtil;
import cn.hippo4j.common.toolkit.http.HttpUtil;
+import cn.hippo4j.core.toolkit.FileUtil;
import cn.hippo4j.message.dto.NotifyConfigDTO;
import cn.hippo4j.message.enums.NotifyPlatformEnum;
import cn.hippo4j.message.enums.NotifyTypeEnum;
diff --git a/threadpool/message/src/main/java/cn/hippo4j/message/platform/WeChatSendMessageHandler.java b/threadpool/message/src/main/java/cn/hippo4j/message/platform/WeChatSendMessageHandler.java
index c502fc4f..48e191f4 100644
--- a/threadpool/message/src/main/java/cn/hippo4j/message/platform/WeChatSendMessageHandler.java
+++ b/threadpool/message/src/main/java/cn/hippo4j/message/platform/WeChatSendMessageHandler.java
@@ -18,10 +18,10 @@
package cn.hippo4j.message.platform;
import cn.hippo4j.common.toolkit.Assert;
-import cn.hippo4j.common.toolkit.FileUtil;
import cn.hippo4j.common.toolkit.JSONUtil;
import cn.hippo4j.common.toolkit.Singleton;
import cn.hippo4j.common.toolkit.http.HttpUtil;
+import cn.hippo4j.core.toolkit.FileUtil;
import cn.hippo4j.message.enums.NotifyPlatformEnum;
import cn.hippo4j.message.platform.base.AbstractRobotSendMessageHandler;
import cn.hippo4j.message.platform.base.RobotMessageActualContent;
diff --git a/threadpool/message/src/main/java/cn/hippo4j/message/service/DefaultThreadPoolCheckAlarmHandler.java b/threadpool/message/src/main/java/cn/hippo4j/message/service/DefaultThreadPoolCheckAlarmHandler.java
index de770758..d5098b4c 100644
--- a/threadpool/message/src/main/java/cn/hippo4j/message/service/DefaultThreadPoolCheckAlarmHandler.java
+++ b/threadpool/message/src/main/java/cn/hippo4j/message/service/DefaultThreadPoolCheckAlarmHandler.java
@@ -17,7 +17,7 @@
package cn.hippo4j.message.service;
-import cn.hippo4j.common.api.ThreadPoolCheckAlarm;
+import cn.hippo4j.core.api.ThreadPoolCheckAlarm;
import cn.hippo4j.common.toolkit.CalculateUtil;
import cn.hippo4j.common.toolkit.StringUtil;
import cn.hippo4j.core.executor.DynamicThreadPoolExecutor;
diff --git a/threadpool/message/src/main/java/cn/hippo4j/message/service/Hippo4jBaseSendMessageService.java b/threadpool/message/src/main/java/cn/hippo4j/message/service/Hippo4jBaseSendMessageService.java
index 30493e82..21db2221 100644
--- a/threadpool/message/src/main/java/cn/hippo4j/message/service/Hippo4jBaseSendMessageService.java
+++ b/threadpool/message/src/main/java/cn/hippo4j/message/service/Hippo4jBaseSendMessageService.java
@@ -19,7 +19,7 @@ package cn.hippo4j.message.service;
import cn.hippo4j.common.toolkit.CollectionUtil;
import cn.hippo4j.message.api.NotifyConfigBuilder;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.message.dto.AlarmControlDTO;
import cn.hippo4j.message.dto.NotifyConfigDTO;
import cn.hippo4j.message.enums.NotifyTypeEnum;
diff --git a/threadpool/monitor/base/src/main/java/cn/hippo4j/monitor/base/AbstractAdapterThreadPoolMonitor.java b/threadpool/monitor/base/src/main/java/cn/hippo4j/monitor/base/AbstractAdapterThreadPoolMonitor.java
index adf1ca1c..ec5918c9 100644
--- a/threadpool/monitor/base/src/main/java/cn/hippo4j/monitor/base/AbstractAdapterThreadPoolMonitor.java
+++ b/threadpool/monitor/base/src/main/java/cn/hippo4j/monitor/base/AbstractAdapterThreadPoolMonitor.java
@@ -19,7 +19,7 @@ package cn.hippo4j.monitor.base;
import cn.hippo4j.adapter.base.ThreadPoolAdapter;
import cn.hippo4j.adapter.base.ThreadPoolAdapterState;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import java.util.Map;
diff --git a/threadpool/monitor/elasticsearch/src/main/java/cn/hippo4j/monitor/elasticsearch/DynamicThreadPoolElasticSearchMonitorHandler.java b/threadpool/monitor/elasticsearch/src/main/java/cn/hippo4j/monitor/elasticsearch/DynamicThreadPoolElasticSearchMonitorHandler.java
index f476ae1c..e45f3d15 100644
--- a/threadpool/monitor/elasticsearch/src/main/java/cn/hippo4j/monitor/elasticsearch/DynamicThreadPoolElasticSearchMonitorHandler.java
+++ b/threadpool/monitor/elasticsearch/src/main/java/cn/hippo4j/monitor/elasticsearch/DynamicThreadPoolElasticSearchMonitorHandler.java
@@ -17,11 +17,11 @@
package cn.hippo4j.monitor.elasticsearch;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.model.ThreadPoolRunStateInfo;
import cn.hippo4j.common.toolkit.BeanUtil;
-import cn.hippo4j.common.toolkit.FileUtil;
import cn.hippo4j.common.toolkit.JSONUtil;
+import cn.hippo4j.core.toolkit.FileUtil;
import cn.hippo4j.monitor.base.AbstractDynamicThreadPoolMonitor;
import cn.hippo4j.monitor.base.MonitorTypeEnum;
import cn.hippo4j.monitor.elasticsearch.model.ElasticSearchThreadPoolRunStateInfo;
diff --git a/threadpool/monitor/elasticsearch/src/main/java/cn/hippo4j/monitor/elasticsearch/ElasticSearchClientHolder.java b/threadpool/monitor/elasticsearch/src/main/java/cn/hippo4j/monitor/elasticsearch/ElasticSearchClientHolder.java
index ba428722..b1b2a16e 100644
--- a/threadpool/monitor/elasticsearch/src/main/java/cn/hippo4j/monitor/elasticsearch/ElasticSearchClientHolder.java
+++ b/threadpool/monitor/elasticsearch/src/main/java/cn/hippo4j/monitor/elasticsearch/ElasticSearchClientHolder.java
@@ -17,7 +17,7 @@
package cn.hippo4j.monitor.elasticsearch;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.toolkit.StringUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.HttpHost;
diff --git a/threadpool/monitor/micrometer/src/main/java/cn/hippo4j/monitor/micrometer/AdapterThreadPoolMicrometerMonitorHandler.java b/threadpool/monitor/micrometer/src/main/java/cn/hippo4j/monitor/micrometer/AdapterThreadPoolMicrometerMonitorHandler.java
index b5e20608..aeaa4f22 100644
--- a/threadpool/monitor/micrometer/src/main/java/cn/hippo4j/monitor/micrometer/AdapterThreadPoolMicrometerMonitorHandler.java
+++ b/threadpool/monitor/micrometer/src/main/java/cn/hippo4j/monitor/micrometer/AdapterThreadPoolMicrometerMonitorHandler.java
@@ -18,7 +18,7 @@
package cn.hippo4j.monitor.micrometer;
import cn.hippo4j.adapter.base.ThreadPoolAdapterState;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.toolkit.BeanUtil;
import cn.hippo4j.common.toolkit.CollectionUtil;
import cn.hippo4j.monitor.base.AbstractAdapterThreadPoolMonitor;
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 19dac923..748f8068 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,7 +17,7 @@
package cn.hippo4j.monitor.micrometer;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.model.ThreadPoolRunStateInfo;
import cn.hippo4j.common.toolkit.BeanUtil;
import cn.hippo4j.common.toolkit.CollectionUtil;
diff --git a/threadpool/monitor/micrometer/src/main/java/cn/hippo4j/monitor/micrometer/WebThreadPoolMicrometerMonitorHandler.java b/threadpool/monitor/micrometer/src/main/java/cn/hippo4j/monitor/micrometer/WebThreadPoolMicrometerMonitorHandler.java
index 078cb8c1..f61eda61 100644
--- a/threadpool/monitor/micrometer/src/main/java/cn/hippo4j/monitor/micrometer/WebThreadPoolMicrometerMonitorHandler.java
+++ b/threadpool/monitor/micrometer/src/main/java/cn/hippo4j/monitor/micrometer/WebThreadPoolMicrometerMonitorHandler.java
@@ -17,7 +17,7 @@
package cn.hippo4j.monitor.micrometer;
-import cn.hippo4j.common.config.ApplicationContextHolder;
+import cn.hippo4j.core.config.ApplicationContextHolder;
import cn.hippo4j.common.model.ThreadPoolRunStateInfo;
import cn.hippo4j.common.toolkit.BeanUtil;
import cn.hippo4j.common.toolkit.CollectionUtil;
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/client/Client.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/client/Client.java
index c4efcd25..c3da92b0 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/client/Client.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/client/Client.java
@@ -45,7 +45,7 @@ import java.io.Closeable;
* The client implements Closeable and supports automatic shutdown, However, you can manually
* disable it when you want to use it
*
- * @since 1.5.1
+ * @since 2.0.0
*/
public interface Client extends Closeable {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/client/ClientConnection.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/client/ClientConnection.java
index e3fb241c..cc30b3be 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/client/ClientConnection.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/client/ClientConnection.java
@@ -24,7 +24,7 @@ import cn.hippo4j.rpc.model.Response;
/**
* Applicable to client connections
*
- * @since 1.5.1
+ * @since 2.0.0
*/
public interface ClientConnection extends Connection {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/client/NettyClientConnection.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/client/NettyClientConnection.java
index b98228c7..880181cb 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/client/NettyClientConnection.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/client/NettyClientConnection.java
@@ -39,7 +39,7 @@ import java.util.concurrent.locks.LockSupport;
/**
* Client implemented using netty
*
- * @since 1.5.1
+ * @since 2.0.0
*/
@Slf4j
public class NettyClientConnection implements ClientConnection {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/client/RPCClient.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/client/RPCClient.java
index f9eb8eea..527f380d 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/client/RPCClient.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/client/RPCClient.java
@@ -26,7 +26,7 @@ import java.io.IOException;
* The client, which provides a closing mechanism, maintains a persistent connection if not closed
* Delegate the method to the {@link ClientConnection} for implementation
*
- * @since 1.5.1
+ * @since 2.0.0
*/
public class RPCClient implements Client {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/coder/CompactObjectOutputStream.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/coder/CompactObjectOutputStream.java
index 36c34f9c..5cab9229 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/coder/CompactObjectOutputStream.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/coder/CompactObjectOutputStream.java
@@ -25,7 +25,7 @@ import java.io.OutputStream;
/**
* object OutputStream
*
- * @since 1.5.1
+ * @since 2.0.0
*/
public class CompactObjectOutputStream extends ObjectOutputStream {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/coder/NettyEncoder.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/coder/NettyEncoder.java
index 3197b3a7..8c5ce752 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/coder/NettyEncoder.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/coder/NettyEncoder.java
@@ -30,7 +30,7 @@ import java.io.Serializable;
* this is a encoder, For custom gluing and unpacking
* {@link io.netty.handler.codec.serialization.ObjectEncoder}
*
- * @since 1.5.1
+ * @since 2.0.0
*/
public class NettyEncoder extends MessageToByteEncoder {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/discovery/ClassRegistry.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/discovery/ClassRegistry.java
index d01f510e..227f19e1 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/discovery/ClassRegistry.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/discovery/ClassRegistry.java
@@ -26,7 +26,7 @@ import java.util.concurrent.ConcurrentHashMap;
/**
* the registration center for Client and Server
*
- * @since 1.5.1
+ * @since 2.0.0
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class ClassRegistry {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/discovery/DefaultInstance.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/discovery/DefaultInstance.java
index 44b9a6f4..d04adbe3 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/discovery/DefaultInstance.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/discovery/DefaultInstance.java
@@ -28,7 +28,7 @@ import java.util.ServiceLoader;
* Load through the ServiceLoader first. If the load fails, load directly through the instantiation.
* If it is an interface, throw an exception. This is not elegant implementation
*
- * @since 1.5.1
+ * @since 2.0.0
*/
public class DefaultInstance implements Instance {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/discovery/DiscoveryAdapter.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/discovery/DiscoveryAdapter.java
index 119fde6e..6ec4e7da 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/discovery/DiscoveryAdapter.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/discovery/DiscoveryAdapter.java
@@ -23,7 +23,7 @@ import java.net.InetSocketAddress;
* The adaptation layer of different service centers is used to know
* the host of different services through the registration center
*
- * @since 1.5.1
+ * @since 2.0.0
*/
public interface DiscoveryAdapter {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/discovery/Instance.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/discovery/Instance.java
index 83f649f0..8d1c92c3 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/discovery/Instance.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/discovery/Instance.java
@@ -20,7 +20,7 @@ package cn.hippo4j.rpc.discovery;
/**
* Instance interface to get an instance
*
- * @since 1.5.1
+ * @since 2.0.0
*/
public interface Instance {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/discovery/ServerPort.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/discovery/ServerPort.java
index 82e240a7..71e835c4 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/discovery/ServerPort.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/discovery/ServerPort.java
@@ -20,7 +20,7 @@ package cn.hippo4j.rpc.discovery;
/**
* Gets the top-level interface of the instance port
*
- * @since 1.5.1
+ * @since 2.0.0
*/
@FunctionalInterface
public interface ServerPort {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/discovery/SpringContextInstance.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/discovery/SpringContextInstance.java
index fa25d4c9..324c0705 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/discovery/SpringContextInstance.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/discovery/SpringContextInstance.java
@@ -17,23 +17,23 @@
package cn.hippo4j.rpc.discovery;
-import cn.hippo4j.common.config.ApplicationContextHolder;
-
/**
* Adapter Spring, The requested object is managed by spring
*
- * @since 1.5.1
+ * @since 2.0.0
*/
public class SpringContextInstance implements Instance {
@Override
public Object getInstance(Class> cls) {
- return ApplicationContextHolder.getBean(cls);
+ // return ApplicationContextHolder.getBean(cls);
+ return null;
}
@Override
public Object getInstance(String name) {
- return ApplicationContextHolder.getInstance().getBean(name);
+ // return ApplicationContextHolder.getInstance().getBean(name);
+ return null;
}
}
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/exception/CoderException.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/exception/CoderException.java
index e891772c..c55117d3 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/exception/CoderException.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/exception/CoderException.java
@@ -21,7 +21,7 @@ package cn.hippo4j.rpc.exception;
* During decoding and encoding, if an exception occurs, an exception of type {@link CoderException} is thrown,
* which is not different from a {@link RuntimeException}, but is more explicit about the type of exception
*
- * @since 1.5.1
+ * @since 2.0.0
*/
public class CoderException extends RuntimeException {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/exception/ConnectionException.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/exception/ConnectionException.java
index aaf6edd2..2ac45233 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/exception/ConnectionException.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/exception/ConnectionException.java
@@ -22,7 +22,7 @@ package cn.hippo4j.rpc.exception;
* {@link ConnectionException} is thrown, which is not different from {@link RuntimeException}, but is more explicit
* about the type of exception
*
- * @since 1.5.1
+ * @since 2.0.0
*/
public class ConnectionException extends RuntimeException {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/exception/TimeOutException.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/exception/TimeOutException.java
index 43d51057..a6ed5b77 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/exception/TimeOutException.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/exception/TimeOutException.java
@@ -21,7 +21,7 @@ package cn.hippo4j.rpc.exception;
* If there is a timeout between the server and the client, you will get a {@link TimeOutException},
* which is not different from {@link RuntimeException}, but it will be more explicit about the type of exception, right
*
- * @since 1.5.1
+ * @since 2.0.0
*/
public class TimeOutException extends RuntimeException {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/AbstractNettyHandlerManager.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/AbstractNettyHandlerManager.java
index a3d5eae2..85f7289d 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/AbstractNettyHandlerManager.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/AbstractNettyHandlerManager.java
@@ -31,7 +31,7 @@ import java.util.stream.Collectors;
/**
* Processor manager for ChannelHandler in netty
*
- * @since 1.5.1
+ * @since 2.0.0
*/
public abstract class AbstractNettyHandlerManager implements HandlerManager {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/AbstractNettyTakeHandler.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/AbstractNettyTakeHandler.java
index 3bc02728..c1740b5b 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/AbstractNettyTakeHandler.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/AbstractNettyTakeHandler.java
@@ -29,7 +29,7 @@ import java.util.Optional;
/**
* the abstract base of {@link ConnectHandler} and {@link ChannelInboundHandlerAdapter}
*
- * @since 1.5.1
+ * @since 2.0.0
*/
public abstract class AbstractNettyTakeHandler extends ChannelInboundHandlerAdapter implements ConnectHandler {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/ConnectHandler.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/ConnectHandler.java
index 35c900fc..d8650e7c 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/ConnectHandler.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/ConnectHandler.java
@@ -25,7 +25,7 @@ import cn.hippo4j.rpc.model.Response;
* must be specified, such as serialization and parsing, requesting and receiving
* requests, and so on
*
- * @since 1.5.1
+ * @since 2.0.0
*/
public interface ConnectHandler {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/Connection.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/Connection.java
index 943b4f54..5f93bab7 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/Connection.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/Connection.java
@@ -27,7 +27,7 @@ import java.io.Closeable;
* connection and the connection channel together, so creating {@link Connection} is
* very resource intensive, for which caching is recommended
*
- * @since 1.5.1
+ * @since 2.0.0
*/
public interface Connection extends Closeable {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/HandlerManager.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/HandlerManager.java
index fbc72bc4..5c583eee 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/HandlerManager.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/HandlerManager.java
@@ -26,7 +26,7 @@ import lombok.Getter;
* Manage the Handler used in the processing.
* The Handler must be able to exist multiple times and be invoked once in a single execution
*
- * @since 1.5.1
+ * @since 2.0.0
*/
public interface HandlerManager {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/NettyClientPoolHandler.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/NettyClientPoolHandler.java
index 42d5fbaf..26a195d9 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/NettyClientPoolHandler.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/NettyClientPoolHandler.java
@@ -33,7 +33,7 @@ import java.util.List;
/**
* Processing by the client connection pool handler to clean the buffer and define new connection properties
*
- * @since 1.5.1
+ * @since 2.0.0
*/
@Slf4j
public class NettyClientPoolHandler extends AbstractNettyHandlerManager implements ChannelPoolHandler {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/NettyClientTakeHandler.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/NettyClientTakeHandler.java
index b1852bd5..dca66b90 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/NettyClientTakeHandler.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/NettyClientTakeHandler.java
@@ -25,7 +25,7 @@ import io.netty.channel.ChannelHandlerContext;
/**
* Interconnect with the netty mediation layer
*
- * @since 1.5.1
+ * @since 2.0.0
*/
@ChannelHandler.Sharable
public class NettyClientTakeHandler extends AbstractNettyTakeHandler implements ConnectHandler {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/NettyServerTakeHandler.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/NettyServerTakeHandler.java
index e0951c03..c83846c7 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/NettyServerTakeHandler.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/handler/NettyServerTakeHandler.java
@@ -32,7 +32,7 @@ import java.lang.reflect.Method;
/**
* netty adaptation layer
*
- * @since 1.5.1
+ * @since 2.0.0
*/
@ChannelHandler.Sharable
public class NettyServerTakeHandler extends AbstractNettyTakeHandler implements ConnectHandler {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/model/DefaultRequest.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/model/DefaultRequest.java
index a49ad075..d615e2ea 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/model/DefaultRequest.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/model/DefaultRequest.java
@@ -26,7 +26,7 @@ import java.util.Objects;
* default request
* Use the fully qualified name key of the interface and override equals and hashCode
*
- * @since 1.5.1
+ * @since 2.0.0
*/
public final class DefaultRequest implements Request {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/model/DefaultResponse.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/model/DefaultResponse.java
index 1f4d46ae..0ba5e799 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/model/DefaultResponse.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/model/DefaultResponse.java
@@ -26,7 +26,7 @@ import java.util.Objects;
* default request
* Use the fully qualified name key of the interface and override equals and hashCode
*
- * @since 1.5.1
+ * @since 2.0.0
*/
public class DefaultResponse implements Response {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/model/Request.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/model/Request.java
index 128d069e..83d4feae 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/model/Request.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/model/Request.java
@@ -22,7 +22,7 @@ import java.io.Serializable;
/**
* request
*
- * @since 1.5.1
+ * @since 2.0.0
*/
public interface Request extends Serializable {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/model/Response.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/model/Response.java
index a7b2642a..cd7ada9c 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/model/Response.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/model/Response.java
@@ -22,7 +22,7 @@ import java.io.Serializable;
/**
* Response
*
- * @since 1.5.1
+ * @since 2.0.0
*/
public interface Response extends Serializable {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/server/NettyServerConnection.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/server/NettyServerConnection.java
index 65a8c2b6..224163eb 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/server/NettyServerConnection.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/server/NettyServerConnection.java
@@ -45,7 +45,7 @@ import java.util.List;
/**
* adapter to the netty server
*
- * @since 1.5.1
+ * @since 2.0.0
*/
@Slf4j
public class NettyServerConnection extends AbstractNettyHandlerManager implements ServerConnection {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/server/RPCServer.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/server/RPCServer.java
index b50c0f85..1136937e 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/server/RPCServer.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/server/RPCServer.java
@@ -25,7 +25,7 @@ import java.io.IOException;
/**
* Server Implementation
*
- * @since 1.5.1
+ * @since 2.0.0
*/
public class RPCServer implements Server {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/server/Server.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/server/Server.java
index 5c346525..4583e4a0 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/server/Server.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/server/Server.java
@@ -22,7 +22,7 @@ import java.io.Closeable;
/**
* the service for RPC, Explain the role of the service in the request
*
- * @since 1.5.1
+ * @since 2.0.0
*/
public interface Server extends Closeable {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/server/ServerConnection.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/server/ServerConnection.java
index a1a830ca..a72d2318 100644
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/server/ServerConnection.java
+++ b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/server/ServerConnection.java
@@ -23,7 +23,7 @@ import cn.hippo4j.rpc.handler.Connection;
/**
* This applies to server-side connections
*
- * @since 1.5.1
+ * @since 2.0.0
*/
public interface ServerConnection extends Connection {
diff --git a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/support/ClientFactoryBean.java b/threadpool/rpc/src/main/java/cn/hippo4j/rpc/support/ClientFactoryBean.java
deleted file mode 100644
index 37b63596..00000000
--- a/threadpool/rpc/src/main/java/cn/hippo4j/rpc/support/ClientFactoryBean.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package cn.hippo4j.rpc.support;
-
-import cn.hippo4j.common.toolkit.Assert;
-import cn.hippo4j.rpc.client.Client;
-import cn.hippo4j.rpc.discovery.DiscoveryAdapter;
-import cn.hippo4j.rpc.exception.ConnectionException;
-import cn.hippo4j.rpc.handler.NettyClientPoolHandler;
-import io.netty.channel.ChannelHandler;
-import org.springframework.beans.BeansException;
-import org.springframework.beans.factory.DisposableBean;
-import org.springframework.beans.factory.FactoryBean;
-import org.springframework.beans.factory.InitializingBean;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.ApplicationContextAware;
-
-import java.net.InetSocketAddress;
-import java.util.Optional;
-
-/**
- * A FactoryBean that builds interfaces to invoke proxy objects
- * is responsible for managing the entire life cycle of the proxy objects
- *
APPLICATION START
- * When the application is started, the request initiator needs to complete the proxy of the calling interface,
- * which ensures that the method can be requested to the server side when the method is called, rather than simply
- * request an interface that cannot be instantiated. The classes involved in adding proxy to the interface are:
- *
- *
{@link NettyClientSupport}
- *
{@link NettyProxyCenter}
- *
{@link NettyClientPoolHandler}
- *
- *
AND SPRING
- * In order to fully integrate {@link ClientFactoryBean} into the life cycle of spring beans,
- * {@link ClientFactoryBean} also needs to implement the following interfaces:
- *
- *
{@link InitializingBean}
- *
{@link ApplicationContextAware}
- *
{@link DisposableBean}
- *
- *
- * @since 1.5.1
- * @deprecated With {@link cn.hippo4j.config.service.ThreadPoolAdapterService} structure, FactoryBean is not the best choice
- */
-@Deprecated
-public class ClientFactoryBean implements FactoryBean