1. 概述
Hikari 是一個 JDBC `DataSource</em/> 實現,它提供了一個連接池機制。與其它實現相比,它承諾輕量級且性能更好。
本快速教程演示瞭如何配置 Spring Boot 3 應用程序以使用 Hikari DataSource</em/>。
2. 使用 Hikari 配置 Spring Boot 3.x
Hikari 是 Spring Boot 3 中的默認 DataSource 實現,如 Spring Boot 3 的 參考手冊 中所述。
Hikari 的依賴自動包含在 spring-boot-starter-data-jpa 和 spring-boot-starter-jdbc 中。因此,如果要在基於 Spring Boot 3.x 的應用程序中使用 Hikari,我們無需做任何操作。
但是,如果想要使用最新版本,則需要在 pom.xml 中顯式添加 Hikari 依賴:
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>7.0.2</version>
</dependency>3. 調整 Hikari 配置參數
Hikari 相較於其他 DataSource 實現的一個優勢在於,它提供了大量的配置參數。
我們可以通過使用前綴 spring.datasource.hikari 並附加 Hikari 參數名稱來指定這些參數的值:
spring.datasource.hikari.connectionTimeout=30000
spring.datasource.hikari.idleTimeout=600000
spring.datasource.hikari.maxLifetime=1800000
...在上述配置中,我們設置了連接超時時間為 30,000 毫秒,空閒超時時間為 600,000 毫秒,最大生命週期為 1,800,000 毫秒。這些參數值可以根據應用程序的特定要求進行調整。
所有可用 Hikari 參數的全面列表以及詳細解釋,可以在 Hikari GitHub 站點 上獲取,以及在 Spring 文檔 中。
4. 使用 JMX 監控 Hikari
Hikari 通過 JMX (Java Management Extensions) 提供對連接池的監控支持。JMX 是 Java 技術,它允許在運行時管理和監控應用程序。通過為 Hikari 啓用 JMX,我們可以獲得有關連接池健康和性能的寶貴見解。
為了啓用 Hikari 的 JMX,我們需要將以下配置屬性添加到我們的 <em >application.properties</em > 或 <em >application.yml</em > 文件中:
spring.datasource.hikari.registerMbeans=true配置完成後,Hikari 通過 JMX 暴露其管理 Bean。可以使用 JMX 工具和庫訪問這些 Bean,用於監控和分析連接池。有許多流行的 JMX 客户端可用,例如 JConsole、VisualVM 和 Prometheus 配合 JMX 導出器。
通過連接到託管應用程序的 Java 進程並使用 JMX 客户端,我們可以訪問 Hikari 提供的各種指標和屬性,包括:
- 連接數:當前活動的連接數量
- 池利用率:連接的使用百分比
- 連接獲取時間:從池中獲取連接所需的時間
- 連接創建時間:創建新連接所需的時間
- 連接超時計數:連接獲取嘗試超時次數
這些指標可以幫助我們瞭解連接池的行為,並識別任何潛在的性能瓶頸或問題。我們可以設置監控和告警系統來跟蹤這些指標並採取適當的措施時需要。
5. 結論
在本文中,我們學習瞭如何為 Spring Boot 3.x 應用程序配置 Hikari DataSource,充分利用了 Spring Boot 的自動配置功能。此外,我們強調了啓用 Hikari JMX 的重要性,以便監控和管理連接池,從而為我們提供有價值的洞察力和對其行為的控制。