springboot默認連接池Hikari
https://www.baeldung-cn.com/spring-boot-hikari
- 概述
Hikari 一是個JDBC數(shù)據(jù)源連接池。與其它連接池相比,它更輕量級且性能更優(yōu)。
本快速教程將展示如何在基于 Spring Boot 3 的應(yīng)用程序中配置 Hikari 數(shù)據(jù)源。
2. 在 Spring Boot 3.x 中配置 Hikari
在 Spring Boot 3 中,Hikari 已經(jīng)成為了默認的數(shù)據(jù)源實現(xiàn),如官方文檔所述。
由于 spring-boot-starter-data-jpa 和 spring-boot-starter-jdbc 都包含了對 Hikari 的依賴,因此如果我們基于 Spring Boot 3.x 構(gòu)建應(yīng)用,無需做額外配置即可使用 Hikari。
然而,如果我們想使用最新版本,需要在 pom.xml 文件中顯式添加 Hikari 的依賴:
- 調(diào)整 Hikari 配置參數(shù)
Hikari 與其他數(shù)據(jù)源實現(xiàn)相比的一大優(yōu)勢是提供了大量可配置參數(shù)。我們可以通過 spring.datasource.hikari 前綴并附加 Hikari 參數(shù)名稱來指定這些參數(shù)的值:
spring.datasource.hikari.connectionTimeout=30000
spring.datasource.hikari.idleTimeout=600000
spring.datasource.hikari.maxLifetime=1800000
...
在上述配置中,我們將連接超時設(shè)置為 30,000 毫秒,空閑超時設(shè)置為 600,000 毫秒,最大生命周期設(shè)置為 1,800,000 毫秒。根據(jù)應(yīng)用的具體需求,我們可以調(diào)整這些參數(shù)值。
關(guān)于所有可用的 Hikari 參數(shù)及其詳細說明,可以在 Hikari GitHub 倉庫 和 Spring 文檔 中找到。
4. 使用 JMX 監(jiān)控 Hikari
Hikari 支持通過 JMX(Java 管理擴展)監(jiān)控其連接池。JMX 是一種用于在運行時管理與監(jiān)控 Java 應(yīng)用的技術(shù)。啟用 JMX 可以讓我們深入了解連接池的健康狀況和性能。
為了啟用 Hikari 的 JMX,我們需要在 application.properties 或 application.yml 文件中添加以下配置屬性:
spring.datasource.hikari.registerMbeans=true
有了這個配置,Hikari 將通過 JMX 提供管理豆(management beans)。這些豆可以使用 JMX 工具和庫來監(jiān)控和分析連接池。流行的 JMX 客戶端包括 JConsole、VisualVM 和帶有 JMX 出口的 Prometheus。
通過連接到托管應(yīng)用的 Java 進程并使用 JMX 客戶端,我們可以訪問 Hikari 提供的各種指標和屬性。關(guān)鍵指標包括:
連接數(shù):當前活動連接數(shù)量
連接池利用率:正在使用的連接比例
連接獲取時間:從池中獲取連接所需的時間
新連接創(chuàng)建時間:創(chuàng)建新連接所需的時間
連接獲取超時次數(shù):連接獲取嘗試中超時的次數(shù)
這些指標有助于我們理解連接池的行為,識別潛在的性能瓶頸或問題。我們可以設(shè)置監(jiān)控和警報系統(tǒng),跟蹤這些指標并在必要時采取相應(yīng)措施。
5. 總結(jié)
本文介紹了如何在 Spring Boot 3.x 應(yīng)用中配置 Hikari 數(shù)據(jù)源,利用 Spring Boot 自動配置功能。此外,我們還強調(diào)了啟用 Hikari JMX 以監(jiān)控和管理連接池的重要性,從而為我們提供有價值的洞察和對連接池行為的控制。
Spring Boot 3.x 示例代碼可在 GitHub 上找到。

浙公網(wǎng)安備 33010602011771號