【问题标题】:Creating a new connection manually gets added to Hikari connection pool手动创建新连接被添加到 Hikari 连接池
【发布时间】:2022-01-23 22:55:12
【问题描述】:

在我的 Spring Boot 应用程序中,是否将使用 DriverManager 手动创建的连接添加到 HikarCP 连接池中。

我对 Hikari 连接池有以下属性:

spring.datasource.hikari.maximum-pool-size=5
spring.datasource.hikari.idle-timeout=30000
spring.datasource.hikari.minimum-idle=1
spring.datasource.hikari.leakDetectionThreshold=240000
spring.datasource.hikari.connectionTimeout=30000
spring.datasource.hikari.maxLifetime=300000 

在其中一个类中,我手动创建了一个新连接。

try (Connection con = DriverManager.getConnection(url, user, password)) {   
    try (PreparedStatement stmt = con.prepareStatement(updatedCommand)) {
        stmt.execute();
    } catch (SQLException sqlException) {
        log.error("Error while executing the sql command , message {}", sqlException.getLocalizedMessage());
    }
} catch (Exception e) {
    log.error("Error while connecting to Database, message {}", e.getLocalizedMessage());
}

手动创建的连接是否被添加到 Hikari 的连接池中。

如果它被添加到 Hikari 的托管连接池中,那么如果它处于空闲状态,它是否会根据配置关闭此连接?

【问题讨论】:

    标签: java spring-boot jdbc spring-jdbc hikaricp


    【解决方案1】:

    不,通过DriverManager 创建的连接不会添加到任何连接池*

    我不确定您为什么会认为这样创建的连接会添加到 Hikari,因为当您使用 DriverManager 时,Hikari 不会以任何方式参与。


    * 理论上,JDBC 驱动程序本身可以有一个内部连接池,但我不知道有任何“标准”驱动程序这样做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-02
      • 2021-10-05
      • 1970-01-01
      • 2021-11-08
      • 1970-01-01
      • 2022-07-24
      • 2023-02-10
      • 2021-08-01
      相关资源
      最近更新 更多