1.现象
2021-06-24 14:30:06.667 WARN 93 --- [ task-725] com.zaxxer.hikari.pool.PoolBase : HikariPool-6 - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2a681385 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
2.查看mysql server的配置
show variables like '%timeout%';
其中,interactive_timeout
和 wait_timeout
设置的不合理。
3.HikaiConfig的默认参数设置
4.总结
当连接池的参数idleTimeout或maxLifetime大于数据库的interactive_timeout或wait_timeout时,连接池里的连接没过期,但数据库那边已经过期了,就会出现上面的错误。
推荐配置
spring:
datasource:
hikari:
connection-timeout: 10000
validation-timeout: 3000
idle-timeout: 60000
login-timeout: 5
max-lifetime: 60000
maximum-pool-size: 10
minimum-idle: 5
read-only: false