Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

【开源自荐】hippo4j,强大的动态线程池框架,附带监控报警功能

Abierto
#25 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
1/5
Tiempo estimado
Menos de una hora
Aptitud para principiantes
20/100
Tipo de issue
Documentación
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
java

Línea de trabajo

Este issue es una autorrecomendación del proyecto para el repositorio awesome-java, sin que se haya identificado un archivo de destino, una prueba ni un punto de entrada. Revisa el formato de contribución del repositorio antes de decidir si debe añadirse la descripción de hippo4j; el issue no define cuándo se considera completado.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Guide 哥好,自荐下我开源的动态线程池框架:hippo4j

推荐项目

  • 类别:Java

  • 亮点:

    • 多种模式 - 支持基于配置中心的轻量级依赖,以及自带控制台的无依赖中间件版本。
    • 全局管控 - 通过 hippo4j 管理应用中的线程池,避免胡乱定义线程池,造成项目资源浪费。
    • 动态变更 - 应用运行时动态变更线程池参数,并支持某一个实例变更。
    • 通知报警 - 内置四种报警通知策略,线程池活跃度、容量水位、拒绝策略以及任务执行时间超长。
    • 运行监控 - 实时查看线程池运行时数据,以及最近半小时线程池运行数据图表展示。
    • 中间件适配 - Alibaba Dubbo、RocketMQ、RabbitMQ、SpringCloud Hystrix、Tomcat 等线程池运行时数据查看和线程数变更。
  • 示例代码:

定义动态线程池:

@Bean
@DynamicThreadPool
public Executor sendMessageConsumeDynamicThreadPool() {
    String threadPoolId = "send-message-consume";
    ThreadPoolExecutor sendMessageConsume = ThreadPoolBuilder.builder()
            .threadPoolId(threadPoolId)
            .threadFactory(threadPoolId)
            .dynamicPool()
            .build();
    return sendMessageConsume;
}

使用动态线程池:

@Resource
private Executor sendMessageConsumeDynamicThreadPool;
  • 截图:

  • 后续更新计划:

    • 线程池参数动态变更时,判断当前容器 CPU 占比,过高则提示操作者是否继续修改。
    • 线程池参数动态变更时,加入审核机制;变更后将该配置持久化,方便配置回滚。
    • 控制台和报警通知加入国际化支持。
    • 支持 H2 数据库,通过 Docker 快速部署服务,不需要依赖其它数据库。
    • 支持 Dubbo EagerThreadPoolExecutor 线程池模型。
    • 支持 Etcd、Consul 配置中心动态调整参数。
Lenguaje dominante
Sin datos de lenguaje
Estrellas
9.6k
Forks
1.6k
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de CodingDocs/awesome-java

Todos los issues de CodingDocs/awesome-java

Issues similares

Más issues de Content

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.