【问题标题】:Spring Boot - Tomcat jdbc connection pool does not recover after database server is restartedSpring Boot - 数据库服务器重启后Tomcat jdbc连接池不恢复
【发布时间】:2021-09-11 06:10:03
【问题描述】:

我有一个带有 Tomcat JDBC 连接池 (8.5.34) 的 Spring Boot (1.5.17) Web 应用程序,配置如下:

primary.datasource.tomcat.testOnBorrow=true 
primary.datasource.validationQuery=SELECT 1
primary.datasource.validationInterval=35000
primary.datasource.initial-size=10
primary.datasource.max-active=50
primary.datasource.max-idle=20
primary.datasource.min-idle=10

现在,如果我重新启动数据库服务器 (SQL Server),我会收到 com.microsoft.sqlserver.jdbc.SQLServerException: The connection is closed 异常并且连接池不会恢复。

那我做错了什么?

【问题讨论】:

标签: sql-server spring-boot tomcat-jdbc


【解决方案1】:

我发现了错误。我在编写配置密钥primary.datasource.tomcat.testOnBorrow 时犯了一个错误。应该是primary.datasource.testOnBorrow。现在它工作正常。数据库服务器重启后,连接池几乎立即恢复。

这是我为遇到类似问题的任何人提供的最终配置。

primary.datasource.testOnBorrow=true
primary.datasource.validationQuery=SELECT 1
primary.datasource.validationInterval=55000
primary.datasource.initial-size=5
primary.datasource.min-idle=5
primary.datasource.max-idle=10
primary.datasource.max-active=20
primary.datasource.removeAbandoned=true

【讨论】:

    猜你喜欢
    • 2016-12-10
    • 1970-01-01
    • 1970-01-01
    • 2015-04-24
    • 2020-02-08
    • 2015-12-26
    • 2015-12-23
    • 2012-07-03
    • 2014-12-20
    相关资源
    最近更新 更多