MCPcopy Index your code
hub / github.com/opengoofy/hippo4j

github.com/opengoofy/hippo4j @v1.5.0 sqlite

repository ↗ · DeepWiki ↗ · release v1.5.0 ↗
5,996 symbols 20,314 edges 826 files 1,458 documented · 24%
README

Dynamic and observable thread pool framework

License Build Status

Docker Pulls codecov EN doc

Stargazers Over Time Contributors Over Time
Stargazers over time Contributor over time

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 Hippo4j


Hippo4j 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.

Demo Environment: http://console.hippo4j.cn/index.html.

Who is using


More companies with access are welcome to register at registration address, 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.

Extension points exported contracts — how you extend this code

IWebThreadPoolHandlerSupport (Interface)
Support class for WebThreadPoolHandler, providing some common methods. [6 implementers]
hippo4j-adapter/hippo4j-adapter-web/src/main/java/cn/hippo4j/adapter/web/IWebThreadPoolHandlerSupport.java
ThreadPoolAdapter (Interface)
Adapt to the thread pool of the third-party framework. [16 implementers]
hippo4j-adapter/hippo4j-adapter-base/src/main/java/cn/hippo4j/adapter/base/ThreadPoolAdapter.java
ServerConnection (Interface)
This applies to server-side connections [6 implementers]
hippo4j-rpc/src/main/java/cn/hippo4j/rpc/server/ServerConnection.java
Matcher (Interface)
Matcher. [6 implementers]
hippo4j-common/src/main/java/cn/hippo4j/common/function/Matcher.java
TaskAwarePlugin (Interface)
Callback during task submit in thread-pool. [7 implementers]
hippo4j-core/src/main/java/cn/hippo4j/core/plugin/TaskAwarePlugin.java
BootstrapConfigPropertiesBinderAdapt (Interface)
Bootstrap config properties binder adapt. [4 implementers]
hippo4j-spring-boot/hippo4j-config-spring-boot-starter/src/main/java/cn/hippo4j/config/springboot/starter/refresher/BootstrapConfigPropertiesBinderAdapt.java
MessageSender (Interface)
Message sender. [4 implementers]
hippo4j-spring-boot/hippo4j-spring-boot-starter/src/main/java/cn/hippo4j/springboot/starter/monitor/send/MessageSender.java
Hippo4jSendMessageService (Interface)
Hippo-4j send message service. [4 implementers]
hippo4j-message/src/main/java/cn/hippo4j/message/service/Hippo4jSendMessageService.java

Core symbols most depended-on inside this repo

n
called by 1601
hippo4j-server/hippo4j-console/src/main/resources/static/static/js/chunk-libs.3b1b41b1.js
get
called by 1590
hippo4j-server/hippo4j-console/src/main/resources/static/static/js/chunk-libs.3b1b41b1.js
n
called by 1168
hippo4j-server/hippo4j-console/src/main/resources/static/static/js/chunk-elementUI.1fb3463e.js
i
called by 408
hippo4j-server/hippo4j-console/src/main/resources/static/static/js/chunk-libs.3b1b41b1.js
r
called by 380
hippo4j-server/hippo4j-console/src/main/resources/static/static/js/chunk-libs.3b1b41b1.js
forEach
called by 352
hippo4j-server/hippo4j-console/src/main/resources/static/static/js/chunk-libs.3b1b41b1.js
apply
called by 337
hippo4j-common/src/main/java/cn/hippo4j/common/extension/support/ExtensionCallback.java
o
called by 272
hippo4j-server/hippo4j-console/src/main/resources/static/static/js/chunk-libs.3b1b41b1.js

Shape

Function 2,868
Method 2,302
Class 696
Interface 112
Enum 18

Languages

Java52%
TypeScript48%

Modules by API surface

hippo4j-server/hippo4j-console/src/main/resources/static/static/js/chunk-libs.3b1b41b1.js1,810 symbols
hippo4j-server/hippo4j-console/src/main/resources/static/static/js/chunk-elementUI.1fb3463e.js616 symbols
hippo4j-common/src/main/java/cn/hippo4j/common/executor/support/ResizableCapacityLinkedBlockingQueue.java31 symbols
hippo4j-core/src/main/java/cn/hippo4j/core/plugin/manager/DefaultThreadPoolPluginManager.java29 symbols
hippo4j-core/src/main/java/cn/hippo4j/core/executor/support/ThreadPoolBuilder.java29 symbols
hippo4j-core/src/test/java/cn/hippo4j/core/plugin/manager/ThreadPoolPluginSupportTest.java27 symbols
hippo4j-core/src/test/java/cn/hippo4j/core/plugin/manager/DefaultThreadPoolPluginManagerTest.java26 symbols
hippo4j-spring-boot/hippo4j-spring-boot-starter/src/main/java/cn/hippo4j/springboot/starter/config/DynamicThreadPoolAutoConfiguration.java25 symbols
hippo4j-server/hippo4j-console/src/main/resources/static/static/js/app.787fe2de.js25 symbols
hippo4j-core/src/test/java/cn/hippo4j/core/executor/ExtensibleThreadPoolExecutorTest.java25 symbols
hippo4j-server/hippo4j-config/src/main/java/cn/hippo4j/config/service/LongPollingService.java21 symbols
hippo4j-core/src/main/java/cn/hippo4j/core/plugin/manager/ThreadPoolPluginManager.java21 symbols

Dependencies from manifests, versioned

cn.hippo4j:hippo4j-adapter-alibaba-dubbo
cn.hippo4j:hippo4j-adapter-base
cn.hippo4j:hippo4j-adapter-dubbo
cn.hippo4j:hippo4j-adapter-dubbox
cn.hippo4j:hippo4j-adapter-hystrix
cn.hippo4j:hippo4j-adapter-kafka
cn.hippo4j:hippo4j-adapter-rabbitmq
cn.hippo4j:hippo4j-adapter-rocketmq
cn.hippo4j:hippo4j-adapter-spring-cloud-stream-rabbitmq
cn.hippo4j:hippo4j-adapter-spring-cloud-stream-rocketmq
cn.hippo4j:hippo4j-adapter-web
cn.hippo4j:hippo4j-auth

Datastores touched

(mysql)Database · 1 repos
hippo4j_managerDatabase · 1 repos

For agents

$ claude mcp add hippo4j \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact