# dromara/dynamic-tp

A lightweight dynamic thread pool framework with built-in monitoring and alerting, unified third-party thread pool management, and support for popular configuration centers (Nacos, Apollo, Zookeeper, Consul, and Etcd), extensible via SPI。

Repository: https://github.com/dromara/dynamic-tp
Canonical: https://ross.abutalabs.com/products/dynamic-tp
Homepage: https://dynamictp.cn
Language: Java
License: Apache-2.0
License Family: permissive
Topics: java, dynamic-threadpool, spring, nacos, apollo, micrometer, consul, springcloud, threadpool, threadpoolexecutor, thread, zookeeper, dubbo, rocketmq, grpc, monitor, springboot
Last push: 2026-08-21T11:35:17+00:00

## Health v2 (maintenance only)
Score: 74/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 98, release rhythm 28, longevity 100
- inputs: {"age_days": 1699, "days_push": 12, "days_rel": 463, "gap_med": 49.5, "n_releases_24m": 5}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 4800, forks 859 (observed 2026-08-28T04:09:00.194798+00:00)

## What it is
DynamicTp is a lightweight Java framework for managing dynamically configurable, monitored thread pools based on configuration centers like Nacos, Apollo, Zookeeper, Consul, and Etcd. It provides runtime parameter tuning, alerting, metrics collection via Micrometer/JSON log/JMX, and unified management of third-party middleware thread pools (Tomcat, Dubbo, RocketMQ, gRPC, etc.) with SPI extensibility.

## Use cases
- dynamically adjust thread pool parameters at runtime without redeploying
- monitor thread pool metrics and get alerts on queue capacity or rejections
- manage thread pools of middleware like Dubbo, RocketMQ, and Tomcat from one place
- tune core pool size and queue size via a configuration center
- send thread pool alerts to DingTalk, WeCom, Feishu, or email
- pass context like MDC or TransmittableThreadLocal across pool tasks
- gracefully shut down thread pools on Spring container shutdown

## When to choose
- you run Java/Spring services with ThreadPoolExecutor and need runtime tuning
- you use a supported config center (Nacos, Apollo, Zookeeper, Consul, Etcd, Polaris)
- you want built-in monitoring and alerting for thread pools with zero code intrusion
- you need unified management of many middleware thread pools

## When to avoid
- you are not on the JVM (e.g., Go, Python, .NET services)
- you use very old Spring Boot versions (1.x, 2.1, 2.2) without willingness to upgrade
- you need a simple fixed thread pool with no dynamic tuning or monitoring needs

## Facets
- artifact type: framework
- maturity: active
- function: monitoring, alerting, configuration-management, middleware, concurrency, developer-tools
- domain: backend, monitoring, microservices, developer-tools
- platform: jvm, self-hosted
- tags: thread-pool, dynamic-configuration, nacos, apollo, zookeeper, consul, etcd, spring-boot, dubbo, rocketmq, grpc, micrometer, spi-extensible, devops, spring

## Member repositories
- dromara/dynamic-tp (main) score 74

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:00.194798+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:18:37.674602+00:00, confidence not recorded.
  - readme: https://github.com/dromara/dynamic-tp (fetched 2026-08-28T04:09:00.194798+00:00, sha cf995a513d8b)
  - homepage: https://dynamictp.cn (fetched 2026-08-29T09:01:43.865438+00:00, sha b77f6533e868)
  - site_page: https://dynamictp.cn/guide/other/faq.html (fetched 2026-08-29T09:01:43.874757+00:00, sha 71ed8ee24052)
- Data as of 2026-08-30T08:39:29.467469+00:00.
