文章首發(fā)在公眾號(龍臺的技術(shù)筆記),之后同步到個人網(wǎng)站:xiaomage.info
Hippo-4J 距離上一個版本 1.2.1 已經(jīng)過去一個月的時間。在此期間,由 8 位貢獻者 提交了 170+ commits,正式發(fā)布 1.3.0 版本。
注:這是一個 兼容歷史版本 的重大升級。
Github:https://github.com/mabaiwan/hippo4j
Gitee:https://gitee.com/mabaiwancn/hippo4j
HIPPO-4J 1.3.0
Feature
- 添加 RabbitMQ 線程池監(jiān)控及動態(tài)變更
- 添加 RocketMQ 線程池監(jiān)控及動態(tài)變更
- 添加 Dubbo 線程池監(jiān)控及動態(tài)變更
- 添加 SpringCloud Stream RocketMQ 消費線程池監(jiān)控及動態(tài)變更
Refactor
- 重構(gòu)容器線程池查詢及修改功能
- 優(yōu)化配置中心觸發(fā)監(jiān)聽后,所執(zhí)行的數(shù)據(jù)變更邏輯
Optimize
- 前端控制臺刪除無用組件
- 服務(wù)端頁面字段未顯示中文
- 控制臺 UI 優(yōu)化
- 修改線程池實例后實時刷新列表參數(shù)
- 容器線程池編輯僅限 Admin 權(quán)限
- SpringBoot Starter 變更包路徑
BUG
- 修復(fù) SpringBoot Nacos 動態(tài)刷新不生效
- 報警配置 alarm=false 不配置通知報警平臺和接收人報錯
三方框架線程池適配
Hippo-4J 1.3.0 最大的功能發(fā)布就是開發(fā)出了 適配三方框架的基礎(chǔ)框架。
目前已完成 Dubbo、RabbitMQ、RocketMQ、RocketMQSpringCloudStream 的線程池適配,后續(xù)還會接入 Kafka、Hystrix 等框架或中間件的線程池適配。
引入適配三方框架 Jar 包
引入 Hippo-4J server 或 core 的 maven jar 坐標后,還需要引入對應(yīng)的框架適配 jar:
<dependency>
<groupId>cn.hippo4j</groupId>
<!-- Dubbo -->
<artifactId>hippo4j-spring-boot-starter-adapter-dubbo</artifactId>
<!-- RabbitMQ -->
<artifactId>hippo4j-spring-boot-starter-adapter-rabbitmq</artifactId>
<!-- RocketMQ -->
<artifactId>hippo4j-spring-boot-starter-adapter-rocketmq</artifactId>
<!-- SpringCloud Stream RocketMQ -->
<artifactId>hippo4j-spring-boot-starter-adapter-spring-cloud-stream-rocketmq</artifactId>
<version>1.3.0</version>
</dependency>
如果想覺得引入多個 jar 包繁瑣,可以僅需引入一個全量包,Hippo-4J 框架底層會根據(jù)各中間件的條件,判斷加載具體線程池適配器。
<dependency>
<groupId>cn.hippo4j</groupId>
<artifactId>hippo4j-spring-boot-starter-adapter-all</artifactId>
<version>1.3.0</version>
</dependency>
HIPPO-4J Server
Hippo-4J server 引入上述適配 jar 包后,即可在 Hippo-4J server 的控制臺進行查看及修改三方框架線程池。

點擊編輯即可修改該 Java 應(yīng)用對應(yīng)的框架底層線程池。

點擊 全部修改 按鈕可以修改當(dāng)前組下所有應(yīng)用實例的線程池配置。
修改成功后,應(yīng)用控制臺打印以下日志,即為修改成功。
[input] RocketMQ consumption thread pool parameter change. coreSize :: 1 => 10, maximumSize :: 1 => 10
HIPPO-4J Core
Hippo-4J core 除了依賴上述適配 Jar 包外,還需要在配置中心添加以下配置項。
spring:
dynamic:
thread-pool:
# 省略其它配置
adapter-executors:
# threadPoolKey 代表線程池標識
- threadPoolKey: 'input'
# mark 為三方線程池框架類型,參見文初已支持框架集合
mark: 'RocketMQSpringCloudStream'
corePoolSize: 10
maximumPoolSize: 10
Gitee GVP
Hippo-4J 獲得了一些寶貴的榮譽,這屬于每一位對 Hippo-4J 做出過貢獻的成員。

感謝所有為 Hippo-4J 做出貢獻的開發(fā)者!
https://github.com/mabaiwan/hippo4j/graphs/contributors

最后總結(jié)
開源不易,如果各位小伙伴看了 Hippo-4J 框架后有所收獲,希望能幫忙在 Github、Gitee 點個 star。
目前已有 10+ 公司在生產(chǎn)環(huán)境使用 Hippo-4J,如果貴公司使用了 Hippo-4J,請在下方 Issue 登記,謝謝。
Issue:https://github.com/mabaiwan/hippo4j/issues/13
登記使用不會對公司有任何影響,僅為了擴大 Hippo-4J 影響力,幫助它能走得更遠。