文章首發在公眾號(龍臺的技術筆記),之後同步到個人網站:xiaomage.info
Hippo-4J 距離上一個版本 1.2.1 已經過去一個月的時間。在此期間,由 8 位貢獻者 提交了 170+ commits,正式釋出 1.3.0 版本。
注:這是一個 相容歷史版本 的重大升級。
Github:https://github.com/mabaiwan/hippo4j
Gitee:https://gitee.com/mabaiwancn/hippo4j
Hippo-4J 1.3.0 最大的功能釋出就是開發出了 適配三方框架的基礎框架。
目前已完成 Dubbo、RabbitMQ、RocketMQ、RocketMQSpringCloudStream 的執行緒池適配,後續還會接入 Kafka、Hystrix 等框架或中介軟體的執行緒池適配。
引入 Hippo-4J server 或 core 的 maven jar 座標後,還需要引入對應的框架適配 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 框架底層會根據各中介軟體的條件,判斷載入具體執行緒池介面卡。
<dependency>
<groupId>cn.hippo4j</groupId>
<artifactId>hippo4j-spring-boot-starter-adapter-all</artifactId>
<version>1.3.0</version>
</dependency>
Hippo-4J server 引入上述適配 jar 包後,即可在 Hippo-4J server 的控制檯進行檢視及修改三方框架執行緒池。
點選編輯即可修改該 Java 應用對應的框架底層執行緒池。
點選 全部修改 按鈕可以修改當前組下所有應用範例的執行緒池設定。
修改成功後,應用控制檯列印以下紀錄檔,即為修改成功。
[input] RocketMQ consumption thread pool parameter change. coreSize :: 1 => 10, maximumSize :: 1 => 10
Hippo-4J core 除了依賴上述適配 Jar 包外,還需要在設定中心新增以下設定項。
spring:
dynamic:
thread-pool:
# 省略其它設定
adapter-executors:
# threadPoolKey 代表執行緒池標識
- threadPoolKey: 'input'
# mark 為三方執行緒池框架型別,參見文初已支援框架集合
mark: 'RocketMQSpringCloudStream'
corePoolSize: 10
maximumPoolSize: 10
Hippo-4J 獲得了一些寶貴的榮譽,這屬於每一位對 Hippo-4J 做出過貢獻的成員。
感謝所有為 Hippo-4J 做出貢獻的開發者!
https://github.com/mabaiwan/hippo4j/graphs/contributors
開源不易,如果各位小夥伴看了 Hippo-4J 框架後有所收穫,希望能幫忙在 Github、Gitee 點個 star。
目前已有 10+ 公司在生產環境使用 Hippo-4J,如果貴公司使用了 Hippo-4J,請在下方 Issue 登記,謝謝。
Issue:https://github.com/mabaiwan/hippo4j/issues/13
登記使用不會對公司有任何影響,僅為了擴大 Hippo-4J 影響力,幫助它能走得更遠。