1. 概述

Hikari 一是个JDBC数据源连接池。与其它连接池相比,它更轻量级且性能更优。

本快速教程将展示如何在基于 Spring Boot 3 的应用程序中配置 Hikari 数据源。

2. 在 Spring Boot 3.x 中配置 Hikari

在 Spring Boot 3 中,Hikari 已经成为了默认的数据源实现,如官方文档所述。

由于 spring-boot-starter-data-jpaspring-boot-starter-jdbc 都包含了对 Hikari 的依赖,因此如果我们基于 Spring Boot 3.x 构建应用,无需做额外配置即可使用 Hikari

然而,如果我们想使用最新版本,需要在 pom.xml 文件中显式添加 Hikari 的依赖:

<dependency>
    <groupId>com.zaxxer</groupId>
    <artifactId>HikariCP</artifactId>
    <version>5.1.0</version>
</dependency>

3. 调整 Hikari 配置参数

Hikari 与其他数据源实现相比的一大优势是提供了大量可配置参数。我们可以通过 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 管理扩展)监控其连接池。JMX 是一种用于在运行时管理与监控 Java 应用的技术。启用 JMX 可以让我们深入了解连接池的健康状况和性能。

为了启用 Hikari 的 JMX,我们需要在 application.propertiesapplication.yml 文件中添加以下配置属性

spring.datasource.hikari.registerMbeans=true

有了这个配置,Hikari 将通过 JMX 提供管理豆(management beans)。这些豆可以使用 JMX 工具和库来监控和分析连接池。流行的 JMX 客户端包括 JConsole、VisualVM 和带有 JMX 出口的 Prometheus。

通过连接到托管应用的 Java 进程并使用 JMX 客户端,我们可以访问 Hikari 提供的各种指标和属性。关键指标包括:

  • 连接数:当前活动连接数量
  • 连接池利用率:正在使用的连接比例
  • 连接获取时间:从池中获取连接所需的时间
  • 新连接创建时间:创建新连接所需的时间
  • 连接获取超时次数:连接获取尝试中超时的次数

这些指标有助于我们理解连接池的行为,识别潜在的性能瓶颈或问题。我们可以设置监控和警报系统,跟踪这些指标并在必要时采取相应措施。

5. 总结

本文介绍了如何在 Spring Boot 3.x 应用中配置 Hikari 数据源,利用 Spring Boot 自动配置功能。此外,我们还强调了启用 Hikari JMX 以监控和管理连接池的重要性,从而为我们提供有价值的洞察和对连接池行为的控制。

Spring Boot 3.x 示例代码可在 GitHub 上找到。


« 上一篇: Maven集成测试
» 下一篇: 撰写IntelliJ IDEA插件