异常:
HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@XXXX (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
原因:
Hikari数据库连接池在数据库的连接到指定的时间后(默认30分钟),这个连接在数据库中就会被kill掉,Hikari本身有检测连接是否存活的代码,这个时候就会出现上述的异常,但是这个异常本身是个警告warn,不会影响应用程序本身异常后这个时候数据库的连接已经被重新创建了
解决
application.properties添加配置增加连接的存活时间:
spring.datasource.write.hikari.max-lifetime=3600000
测试方式
1、修改application.properties文件
#配置存活时间为10s
spring.datasource.hikari.max-lifetime=10000
2、启动应用服务
3、查看mysql连接数
SELECT * from information_schema.`PROCESSLIST` where db='数据库名称'
4、等待10秒或者运行以下SQL手动杀掉进程
select concat('KILL ',id,';') from information_schema.processlist where db='数据库名称'
5、此时就能看到服务上述的报错