微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Spring Boot - Tomcat jdbc 连接池在数据库服务器重启后没有恢复

如何解决Spring Boot - Tomcat jdbc 连接池在数据库服务器重启后没有恢复

我有一个带有 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 异常并且连接池无法恢复。

那我做错了什么?

解决方法

我发现了错误。我在编写配置键 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。