【问题标题】:Getting connection is closed for long running Connections对于长时间运行的连接,获取连接已关闭
【发布时间】:2021-03-26 11:20:42
【问题描述】:

我有一个 Spring Boot 应用程序,它使用 hickaricp 连接池连接到 postgresql。

我已经安装了 envoy 代理来加密通信,在这种情况下,长时间运行的连接会出现以下错误。

java.sql.SQLException:连接已关闭 java.net.ConnectException:连接被拒绝(连接被拒绝)

谁能帮我解决这个问题?

【问题讨论】:

    标签: spring-boot envoyproxy


    【解决方案1】:

    您能否详细说明您为连接池使用的配置?

    有connectionTimeout,idleTimeout,maxLifetime等参数用于调整hikari pool。例如:

    spring.datasource.hikari.connectionTimeout=30000 
    spring.datasource.hikari.idleTimeout=600000 
    spring.datasource.hikari.maxLifetime=1800000 
    

    这里列出了配置连接池时可以提供的所有设置。

    https://github.com/brettwooldridge/HikariCP#frequently-used

    https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#spring.datasource.hikari

    在这里使用这些可以提供帮助。

    【讨论】:

    • 我在我的应用程序中使用以下参数。 connectionTimeout=4000 idleTimeout=60000 maximumPoolSize=128 maxLifetime=1800000
    • 只有在应用程序和数据库之间启用特使代理时,我才会遇到这个问题。
    猜你喜欢
    • 1970-01-01
    • 2014-02-26
    • 1970-01-01
    • 2021-02-05
    • 2022-12-21
    • 2017-11-07
    • 2020-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多