diff --git a/.gitignore b/.gitignore
index 033c445d..2aaf1d4a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -39,4 +39,4 @@ build/
### Docs ###
docs/node_modules
docs/build
-docs/.docusaurus
\ No newline at end of file
+docs/.docusaurus
diff --git a/README-EN.md b/README-EN.md
new file mode 100644
index 00000000..297625a9
--- /dev/null
+++ b/README-EN.md
@@ -0,0 +1,56 @@
+
+
+# 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)
+
+-------
+
+## Thread pool pain points
+
+A thread pool is a tool for managing threads based on the idea of pooling.
+
+Using a thread pool reduces the overhead of creating and destroying threads and avoids running out of system resources due to too many threads.
+
+The use of thread pools is essential in highly concurrent and high-volume task processing scenarios.
+
+If you have actually used thread pools in your projects, I believe you may have encountered the following pain points:
+
+- Thread pools are defined randomly, with too many thread resources, causing high server load.
+
+- The thread pool parameters are not easily evaluated and the business is at risk of failure.
+- Thread pool task execution time exceeds the average execution cycle and developers are not informed.
+- Thread pool tasks pile up and affect business operations.
+- Wireless process pool monitoring when the service has timeouts, meltdowns, and other problems.
+- Thread pools do not support the passing of runtime variables, such as MDC contexts.
+- When a project is closed, a large number of running thread pool tasks are discarded.
+- Thread pool running, task execution stopped, don't know the problem.
+
+## What is Hippo-4J
+
+Hippo-4J through the JDK thread pool enhancements, as well as extending the three-party framework underlying thread pools and other features for business systems to improve online operational security capabilities.
+
+The following functional support is provided:
+
+- Global Control - Managing Application Thread Pool Instances.
+
+- Dynamic changes - dynamically changing thread pool parameters at application runtime.
+- Notify alarms - Four built-in alarm notification policies.
+- Run Monitoring - Real-time view of thread pool runtime data.
+- Feature extensions - support for thread pooling task passing contexts, etc.
+- Multiple Modes - Two built-in usage modes: Configuration Center Mode and No Middleware Mode.
+- Container Management - Tomcat, Jetty, Undertow container thread pool runtime view and thread count changes.
+- Framework adaptation - Dubbo, Hystrix, Polaris, RabbitMQ, RocketMQ and other consumer thread pool runtime data view and thread count changes.
+
+## Quick Start
+
+For local presentation purposes, see [Quick start](https://hippo4j.cn/docs/user_docs/user_guide/quick-start).
+
+Demo Environment: [http://console.hippo4j.cn/index.html](http://console.hippo4j.cn/index.html).
+
+## Who is using
+
+More companies with access are welcome to register at [registration address](https://github.com/opengoofy/hippo4j/issues/13), registration is only for product promotion.
+
+## Contributors
+Thanks to all the developers who contributed to the project. If interested in contributing, refer to [good first issue](https://github.com/opengoofy/hippo4j/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22).
diff --git a/README.md b/README.md
index e5cbb084..a935d666 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,7 @@
+中文 | [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)
@@ -36,7 +38,7 @@ Hippo-4J 通过对 JDK 线程池增强,以及扩展三方框架底层线程池
- 功能扩展 - 支持线程池任务传递上下文;项目关闭时,支持等待线程池在指定时间内完成任务。
- 多种模式 - 内置两种使用模式:[依赖配置中心](https://hippo4j.cn/docs/user_docs/getting_started/config/hippo4j-config-start) 和 [无中间件依赖](https://hippo4j.cn/docs/user_docs/getting_started/server/hippo4j-server-start)。
- 容器管理 - Tomcat、Jetty、Undertow 容器线程池运行时查看和线程数变更。
-- 中间件适配 - Dubbo、Hystrix、Polaris、RabbitMQ、RocketMQ 等消费线程池运行时数据查看和线程数变更。
+- 框架适配 - Dubbo、Hystrix、RabbitMQ、RocketMQ 等消费线程池运行时数据查看和线程数变更。
## 快速开始
diff --git a/docs/docs/user_docs/ops/server-docker.md b/docs/docs/user_docs/ops/server-docker.md
index 8b44a5f7..d0a738ce 100644
--- a/docs/docs/user_docs/ops/server-docker.md
+++ b/docs/docs/user_docs/ops/server-docker.md
@@ -21,7 +21,7 @@ docker run -d -p 6691:6691 --name hippo4j-server \
-e DATASOURCE_DB=hippo4j_manager \
-e DATASOURCE_USERNAME=root \
-e DATASOURCE_PASSWORD=root \
-hippo4j/hippo4j-server
+hippo4j/hippo4j-server
```
访问 Server 控制台,路径 `http://localhost:6691/index.html` ,默认用户名密码:admin / 123456
@@ -33,10 +33,10 @@ hippo4j/hippo4j-server
方式一:
```shell
-# 进入到 hippo4j-server 工程路径下
+# 进入到 hippo4j-server/hippo4j-bootstrap 工程路径下
mvn clean package -Dskip.spotless.apply=true
# 默认打包是打包的 tag 是 latest
-docker build -t hippo4j/hippo4j-server ../hippo4j-server
+docker build -t hippo4j/hippo4j-server ../hippo4j-bootstrap
```
方式二:
diff --git a/docs/docs/user_docs/user_guide/quick-start.md b/docs/docs/user_docs/user_guide/quick-start.md
index b8537e94..e8df94d3 100644
--- a/docs/docs/user_docs/user_guide/quick-start.md
+++ b/docs/docs/user_docs/user_guide/quick-start.md
@@ -1,40 +1 @@
----
-sidebar_position: 3
----
-
-# 快速开始
-
-## 服务启动
-
-使用 Docker 运行服务端,默认使用内置 H2 数据库,数据持久化到 Docker 容器存储卷中。
-
-```shell
-docker run -d -p 6691:6691 --name hippo4j-server hippo4j/hippo4j-server
-```
-
-> 如果没有 Docker,可以使用源码编译的方式,启动 [Hippo4J-Server](https://github.com/longtai-cn/hippo4j/tree/develop/hippo4j-server) 模块下 ServerApplication 应用类。
-
-启动示例项目,[hippo4j-spring-boot-starter-example](https://github.com/opengoofy/hippo4j/tree/develop/hippo4j-example/hippo4j-spring-boot-starter-example) 模块下 Hippo4JServerExampleApplication 应用类。
-
-访问 Server 控制台,路径 `http://localhost:6691/index.html`,默认用户名密码:admin / 123456
-
-## 配置变更
-
-访问控制台动态线程池菜单下线程池实例,修改动态线程池相关参数。
-
-
-
-观察 Hippo4j-Example 控制台日志输出,日志输出包括不限于此信息即为成功。
-
-```tex
-2022-09-10 00:23:29.783 INFO 50322 --- [change.config_0] c.h.s.s.c.ServerThreadPoolDynamicRefresh : [message-consume] Dynamic thread pool change parameter.
- corePoolSize: 2 => 4
- maximumPoolSize: 6 => 12
- capacity: 1024 => 2048
- keepAliveTime: 9999 => 9999
- executeTimeOut: 800 => 3000
- rejectedType: SyncPutQueuePolicy => RunsOldestTaskPolicy
- allowCoreThreadTimeOut: true => true
-```
-
-另外,当 Client 集群部署时,可以修改某一个实例,或选择 `全部修改` 按钮,修改所有实例线程池信息。
+---
sidebar_position: 3
---
# 快速开始
## 服务启动
使用 Docker 运行服务端,默认使用内置 H2 数据库,数据持久化到 Docker 容器存储卷中。
```shell
docker run -d -p 6691:6691 --name hippo4j-server hippo4j/hippo4j-server
```
> 如果没有 Docker,可以使用源码编译的方式,启动 [Hippo4J-Server/Hippo4J-Bootstrap](https://github.com/longtai-cn/hippo4j/tree/develop/hippo4j-server/hippo4j-bootstrap) 模块下 ServerApplication 应用类。
启动示例项目,[hippo4j-spring-boot-starter-example](https://github.com/opengoofy/hippo4j/tree/develop/hippo4j-example/hippo4j-spring-boot-starter-example) 模块下 Hippo4JServerExampleApplication 应用类。
访问 Server 控制台,路径 `http://localhost:6691/index.html`,默认用户名密码:admin / 123456
## 配置变更
访问控制台动态线程池菜单下线程池实例,修改动态线程池相关参数。

观察 Hippo4j-Example 控制台日志输出,日志输出包括不限于此信息即为成功。
```tex
2022-09-10 00:23:29.783 INFO 50322 --- [change.config_0] c.h.s.s.c.ServerThreadPoolDynamicRefresh : [message-consume] Dynamic thread pool change parameter.
corePoolSize: 2 => 4
maximumPoolSize: 6 => 12
capacity: 1024 => 2048
keepAliveTime: 9999 => 9999
executeTimeOut: 800 => 3000
rejectedType: SyncPutQueuePolicy => RunsOldestTaskPolicy
allowCoreThreadTimeOut: true => true
```
另外,当 Client 集群部署时,可以修改某一个实例,或选择 `全部修改` 按钮,修改所有实例线程池信息。
\ No newline at end of file
diff --git a/hippo4j-common/src/main/java/cn/hippo4j/common/enums/VerifyEnum.java b/hippo4j-common/src/main/java/cn/hippo4j/common/enums/VerifyEnum.java
index d8f79afe..feb78f25 100644
--- a/hippo4j-common/src/main/java/cn/hippo4j/common/enums/VerifyEnum.java
+++ b/hippo4j-common/src/main/java/cn/hippo4j/common/enums/VerifyEnum.java
@@ -17,30 +17,39 @@
package cn.hippo4j.common.enums;
+/**
+ * Enumeration of thread pool audit status.
+ */
public enum VerifyEnum {
/**
- * unVerify
+ * To verify
*/
TO_VERIFY(0, "待审核"),
/**
- * accept
+ * Verify accept
*/
VERIFY_ACCEPT(1, "审核通过"),
/**
- * reject
+ * Verify reject
*/
VERIFY_REJECT(2, "审核拒绝"),
/**
- * invalid
+ * Verify invalid
*/
VERIFY_INVALID(3, "失效");
+ /**
+ * Verify status
+ */
private final Integer verifyStatus;
+ /**
+ * Desc
+ */
private final String desc;
VerifyEnum(Integer verifyStatus, String desc) {
diff --git a/hippo4j-console/src/main/resources/static/index.html b/hippo4j-console/src/main/resources/static/index.html
deleted file mode 100644
index 61d5bd36..00000000
--- a/hippo4j-console/src/main/resources/static/index.html
+++ /dev/null
@@ -1 +0,0 @@
-
'+e+" | ":""+e.dataPath+" | "+e.message+" | ",'
'+t+" |
>16&255,l[c++]=e>>8&255,l[c++]=255&e;return 2===s&&(e=i[t.charCodeAt(n)]<<2|i[t.charCodeAt(n+1)]>>4,l[c++]=255&e),1===s&&(e=i[t.charCodeAt(n)]<<10|i[t.charCodeAt(n+1)]<<4|i[t.charCodeAt(n+2)]>>2,l[c++]=e>>8&255,l[c++]=255&e),l}function f(t){return r[t>>18&63]+r[t>>12&63]+r[t>>6&63]+r[63&t]}function d(t,e,n){for(var r,i=[],o=e;o >16&255,l[c++]=e>>8&255,l[c++]=255&e;return 2===s&&(e=i[t.charCodeAt(n)]<<2|i[t.charCodeAt(n+1)]>>4,l[c++]=255&e),1===s&&(e=i[t.charCodeAt(n)]<<10|i[t.charCodeAt(n+1)]<<4|i[t.charCodeAt(n+2)]>>2,l[c++]=e>>8&255,l[c++]=255&e),l}function f(t){return r[t>>18&63]+r[t>>12&63]+r[t>>6&63]+r[63&t]}function d(t,e,n){for(var r,i=[],o=e;o0)a=l,l=1+(l<<1),l<=0&&(l=s);l>s&&(l=s),a+=i,l+=i}else{s=i+1;while(ls&&(l=s);var u=a;a=i-l,l=i-u}a++;while(as&&(l=s);var u=a;a=i-l,l=i-u}else{s=r-i;while(l=0)a=l,l=1+(l<<1),l<=0&&(l=s);l>s&&(l=s),a+=i,l+=i}a++;while(a0)a=l,l=1+(l<<1),l<=0&&(l=s);l>s&&(l=s),a+=i,l+=i}else{s=i+1;while(ls&&(l=s);var u=a;a=i-l,l=i-u}a++;while(as&&(l=s);var u=a;a=i-l,l=i-u}else{s=r-i;while(l=0)a=l,l=1+(l<<1),l<=0&&(l=s);l>s&&(l=s),a+=i,l+=i}a++;while(a