# manage-pools-all
**Repository Path**: code_farming/manage-pools-all
## Basic Information
- **Project Name**: manage-pools-all
- **Description**: 一个简单版本的线程池动态刷新与监控工具
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2024-03-26
- **Last Updated**: 2024-03-26
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# manage-pools-all
#### 介绍
一个简单版本的线程池动态刷新与监控工具
#### 安装教程
克隆代码后,把starter模块给install到本地仓库
#### 使用说明
1. 引入maven依赖
```maven
com.fox
manage-pools-starter
${revision}
```
2. nacos配置文件
```yaml
spring:
dtp:
enabled: true #是否开启线程池
ding-ding:
accessToken: #钉钉的token
atMobiles: #需要@的手机号码,使用逗号分隔
atAll: false #是否@所有人
executors: #动态线程池配置
- thread-pool-name: 'message-consume' #bean的名称
# 核心线程数
core-pool-size: 3
# 最大线程数
maximum-pool-size: 10
# 阻塞队列名称,参考 BlockingQueueTypeEnum
blocking-queue: 'LinkedBlockingQueue'
# 阻塞队列大小
queue-capacity: 1
# 拒绝策略名称,参考 RejectedPolicyTypeEnum
rejected-handler: 'AbortPolicy'
# 线程存活时间,单位秒
keep-alive-time: 1024
# 线程工厂名称前缀
thread-name-prefix: 'message-consume'
# 是否报警
alarm: true
# 活跃度报警阈值;假设线程池最大线程数 10,当线程数达到 8 发起报警
active-alarm: 80
# 报警间隔,同一线程池下同一报警纬度,在 interval 时间内只会报警一次,单位分钟,不支持0.x写法
interval: 8
```
3. 启动类加@EnableDtp注解
4. 使用@Resource 或@Autowired 进行依赖注入,bean的名称是配置文件里面的name。或通过 DtpRegistry.getDtpExecutor("name") 获取
5. 告警功能图片
使用DtpRegistry的sendDingDing()方法钉钉发送消息图示
线程池参数告警钉钉发送消息图示
nacos修改后钉钉发送消息图示
#### 项目说明
项目参考了美团线程池文章
https://tech.meituan.com/2020/04/02/java-pooling-pratice-in-meituan.html
项目参考了dynamic-tp线程池实现
https://dynamictp.cn/