如何配置 HikariConfig 提供的属性 TCP KEEP_ALIVE

Posted

技术标签:

【中文标题】如何配置 HikariConfig 提供的属性 TCP KEEP_ALIVE【英文标题】:How to confgure the PGProperty TCP_KEEP_ALIVE that is available at HikariConfig 【发布时间】:2021-04-20 10:26:17 【问题描述】:

如何配置tcpkeepalive值设置为true的属性值?

我已经试过了

spring:
  datasource:
    connection-properties: tcpKeepAlive=true
    connectionproperties: tcpKeepAlive=true

但是,没有成功。

HikariConfig 确实包含一个 Properties 对象,但是这些值是如何在加载它们的 yml 文件中定义的?

【问题讨论】:

【参考方案1】:

假设该属性是驱动的连接属性,则需要在hikari上配置dataSourceProperties属性。你可以这样做:

spring:
  datasource:
    hikari:
      data-source-properties:
        tcpKeepAlive: true

或者,您可以将属性包含在 spring.datasource.url 属性中。

【讨论】:

谢谢,您的第一个建议已经奏效。我也尝试了 url 属性,但没有奏效。 “url:jdbc:postgresql://localhost:5430/postgres;tcpKeepAlive=true”的格式对吗? @sge 不,应该是jdbc:postgresql://localhost:5430/postgres?tcpKeepAlive=true,另见jdbc.postgresql.org/documentation/head/connect.html 它也适用于 url 参数(yaml 属性和 url 属性不能混合)。网址:jdbc:postgresql://localhost:5430/postgres?username=postgres&password=postgres&tcpKeepAlive=true

以上是关于如何配置 HikariConfig 提供的属性 TCP KEEP_ALIVE的主要内容,如果未能解决你的问题,请参考以下文章

适用于 Oracle 的 HikariConfig 池

在 HikariConfig 类加载器或线程上下文类加载器中加载驱动程序类 com.mysql.cj.jdbc.Driver 失败

MariaDB-Access 失败:错误 com.zaxxer.hikari.HikariConfig - HikariPool-1 - dataSource or dataSourceClassNa

HikariCP使用实例

如何在 Spring Boot linux 中向类路径提供外部配置资源(数据库属性和 XML 文件)

如何在 Ms SQL 中配置空属性