这是一个基于 Spring Boot 的动态线程池管理项目,旨在提供可动态调整的线程池配置,支持通过 Redis 存储和实时更新线程池参数。项目分为几个模块:
- dynamic-thread-pool-admin:管理后台,提供 API 接口和简单的前端页面,用于查询和修改线程池配置。
- dynamic-thread-pool-spring-boot-starter:Starter 模块,便于其他项目集成动态线程池功能。
- dynamic-thread-pool-test:测试模块,用于验证线程池的动态调整。
项目使用 Redisson 作为 Redis 客户端,实现配置的存储和发布订阅。
- 动态配置:支持实时修改线程池的核心线程数、最大线程数等参数。
- 查询接口:查询线程池列表和特定线程池配置。
- 更新接口:通过 API 更新线程池配置,并通过 Redis 通知相关应用。
- 前端页面:简单的 Web 界面,支持列表查询、配置查询和更新(使用 Bootstrap 样式)。
- 日志记录:集成 Logback,支持错误和信息日志。
- Java 8 或更高版本
- Maven 3.6+
- Redis 服务器(用于配置存储)
- Spring Boot 2.x
-
克隆项目:
git clone https://github.com/your-repo/dynamic-thread-pool.git -
进入项目目录:
cd dynamic-thread-pool -
构建项目:
mvn clean install -
配置 Redis:在
dynamic-thread-pool-admin/src/main/resources/application.yml中设置 Redis 连接信息。(如果需要)
没有事先安装Redis,可以使用docker-compose.yml文件启动Redis。
docker-compose up -d-
运行管理后台:
cd dynamic-thread-pool-admin mvn spring-boot:run cd dynamic-thread-pool-test mvn spring-boot:run默认端口:8089。
-
访问前端页面:打开浏览器,访问
http://localhost:8089/index.html,或者使用IDE的插件。
项目暴露以下 RESTful API(基路径:/api/v1/dynamic/thread/pool/):
-
查询线程池列表:
- 方法:GET
- 路径:
query_thread_pool_list - 返回:线程池配置列表(JSON)
-
查询特定线程池配置:
- 方法:GET
- 路径:
query_thread_pool_config?appName={appName}&threadPoolName={threadPoolName} - 返回:特定线程池配置(JSON)
-
更新线程池配置:
- 方法:POST
- 路径:
update_thread_pool_config - 请求体:JSON(如
{"appName": "app", "threadPoolName": "pool", "corePoolSize": 5, "maximumPoolSize": 10}) - 返回:更新结果(JSON)
- 线程池列表:列表视图和表格视图切换,表格模式下每 5 秒自动刷新。
- 查询配置:输入应用名和线程池名查询详情。
- 更新配置:填写表单提交更新。
欢迎贡献!请遵循以下步骤:
- Fork 项目。
- 创建 feature 分支(
git checkout -b feature/new-feature)。 - 提交更改(
git commit -m 'Add new feature')。 - 推送分支(
git push origin feature/new-feature)。 - 创建 Pull Request。
如有问题,请联系agentoflyra@gmail.com 或者agentoflyra@qq.com 或提交 Issue。