首页 > 解决方案 > Spring Boot 2.0 Hikari 自动连接不起作用

问题描述

我正在使用 spring-boot、Hibernate 和 MsSql。我将我的应用程序部署到服务器上,它可以正常工作一段时间,之后它的数据库将断开连接并且无法重新连接。在日志中,它显示 Hikari 正在尝试连接但无法连接。

我正在从外部文件中读取数据库属性并获得数据库连接。我是否需要在某个地方指定 Hikari 数据库属性,否则它会自动执行。

in application.properties specified
spring.datasource.hikari.connection-timeout = 20000 
spring.datasource.hikari.minimum-idle= 10 
spring.datasource.hikari.maximum-pool-size= 10
spring.datasource.hikari.idle-timeout=600000
spring.datasource.hikari.max-lifetime=1800000
spring.datasource.hikari.auto-commit =true







    Caused by: java.sql.SQLException: HikariPool-2 - Interrupted during connection acquisition
    at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:200) ~[HikariCP-3.4.1.jar:?]
    at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:161) ~[HikariCP-3.4.1.jar:?]
    at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:128) ~[HikariCP-3.4.1.jar:?]
    at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:158) ~[spring-jdbc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:116) ~[spring-jdbc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79) ~[spring-jdbc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    ... 116 more

org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-2 - Connection is not available, request timed out after 30000ms.
    at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82) ~[spring-jdbc-5.2.2.RELEASE.jar:5.2.2.RELEASE]

标签: sql-serverhibernatespring-bootjdbchikaricp

解决方案


推荐阅读