diff --git a/.codecov.yml b/.codecov.yml
new file mode 100644
index 00000000..a6ffc2d4
--- /dev/null
+++ b/.codecov.yml
@@ -0,0 +1,26 @@
+#
+# 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.
+#
+
+coverage:
+ status:
+ patch:
+ default:
+ threshold: 0.1%
+ignore:
+ - "hippo4j-example/.*"
+ - "docs/.*"
+ - "dev-support/.*"
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index d4495376..9b07e4d0 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -65,3 +65,25 @@ jobs:
- uses: actions/checkout@v3
- name: Build with Maven
run: echo y | mvn clean install -Dskip.gpg=true -Dspotless.apply.skip=true -Dmaven.javadoc.skip=true
+
+ test-coverage:
+ if: github.repository == 'opengoofy/hippo4j'
+ name: Test coverage report
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - name: Cache Maven Repos
+ uses: actions/cache@v3
+ with:
+ path: ~/.m2/repository
+ key: hippo4j-maven-third-party-${{ hashFiles('**/pom.xml') }}
+ restore-keys: |
+ hippo4j-maven-third-party-
+ - uses: actions/setup-java@v3
+ with:
+ distribution: 'temurin'
+ java-version: 8
+ - name: Test with Maven
+ run: echo y | mvn -T1C clean install -Dskip.gpg=true -Dspotless.apply.skip=true -Dskip.jacoco.plugin=false
+ - name: Upload to Codecov
+ run: bash <(curl -s https://codecov.io/bash)
diff --git a/README-EN.md b/README-EN.md
index 297625a9..d1f97e91 100644
--- a/README-EN.md
+++ b/README-EN.md
@@ -1,8 +1,8 @@
-
+
# Dynamic and observable thread pool framework
-[](https://gitee.com/itmachen/hippo4j) [](https://github.com/opengoofy/hippo4j) [](https://store.docker.com/community/images/hippo4j/hippo4j-server) [](https://github.com/opengoofy/hippo4j/graphs/contributors) [](https://github.com/opengoofy/hippo4j/blob/develop/LICENSE)
+[](https://gitee.com/magegoofy/hippo4j) [](https://github.com/opengoofy/hippo4j) [](https://github.com/opengoofy/hippo4j/graphs/contributors) [](https://store.docker.com/community/images/hippo4j/hippo4j-server) [](https://codecov.io/gh/opengoofy/hippo4j)
-------
diff --git a/README.md b/README.md
index a935d666..01ba603e 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,10 @@
-
+
中文 | [English](https://github.com/opengoofy/hippo4j/blob/develop/README-EN.md)
# 动态可观测线程池框架,提高线上运行保障能力
-[](https://gitee.com/itmachen/hippo4j) [](https://github.com/opengoofy/hippo4j) [](https://store.docker.com/community/images/hippo4j/hippo4j-server) [](https://github.com/opengoofy/hippo4j/graphs/contributors) [](https://github.com/opengoofy/hippo4j/blob/develop/LICENSE)
+[](https://gitee.com/magegoofy/hippo4j) [](https://github.com/opengoofy/hippo4j) [](https://github.com/opengoofy/hippo4j/graphs/contributors) [](https://store.docker.com/community/images/hippo4j/hippo4j-server) [](https://codecov.io/gh/opengoofy/hippo4j)
-------
diff --git a/docs/docs/community/developer.md b/docs/docs/community/developer.md
index b468d82d..9b17d002 100644
--- a/docs/docs/community/developer.md
+++ b/docs/docs/community/developer.md
@@ -13,10 +13,10 @@ sidebar_position: 2
- * The data may be inaccurate when the project is initially + *
The data may be inaccurate when the project is initially
* launched because registration is done asynchronously.
*
- * @return
+ * @return thread-pool num
*/
public static Integer getThreadPoolNum() {
return listThreadPoolId().size();
diff --git a/hippo4j-server/hippo4j-bootstrap/src/main/resources/application-h2.properties b/hippo4j-server/hippo4j-bootstrap/src/main/resources/application-h2.properties
index b4bdea1c..67d0d7f8 100644
--- a/hippo4j-server/hippo4j-bootstrap/src/main/resources/application-h2.properties
+++ b/hippo4j-server/hippo4j-bootstrap/src/main/resources/application-h2.properties
@@ -4,6 +4,6 @@ hippo4j.database.init_enable=true
hippo4j.database.init_script=sql-script/h2/hippo4j_manager.sql
spring.datasource.driver-class-name=org.h2.Driver
-spring.datasource.url=jdbc:h2:file:{your storage address}/h2_hippo4j_test_file;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MYSQL;
+spring.datasource.url=jdbc:h2:file:${HOME:${HOMEDRIVE}${HOMEPATH}}/h2_hippo4j_test_file;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MYSQL;
spring.datasource.username=sa
spring.datasource.password=sa
diff --git a/hippo4j-server/hippo4j-config/src/main/java/cn/hippo4j/config/service/LongPollingService.java b/hippo4j-server/hippo4j-config/src/main/java/cn/hippo4j/config/service/LongPollingService.java
index 8d20fc64..b5d667a0 100644
--- a/hippo4j-server/hippo4j-config/src/main/java/cn/hippo4j/config/service/LongPollingService.java
+++ b/hippo4j-server/hippo4j-config/src/main/java/cn/hippo4j/config/service/LongPollingService.java
@@ -109,7 +109,7 @@ public class LongPollingService {
@Override
public void run() {
try {
- for (Iterator