Springboot2.x结合Mabatis3.x下Hikari连接数据库报超时错误
原来Springboot1.x的版本没有这个问题,升级到2.x之后,刚启动没有问题,数据库获取数据很正常,但是几分钟没有数据库操作后,定时任务连接数据库时会报超时。

HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@4615f6a1 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
按照提示将maxLifetime参数调短发现不起作用,

而且各个参数都调成60s,超时警告依然在30s的时候触发,应该是配置方式有问题。按照各种教程试下来都没有解决问题,对于springboot的数据库连接这块不熟,但推测问题还是在数据库连接线程程序端和数据库端不同步导致的。
最终用来一种很临时的方式解决了:
定时任务里面开一个30s执行一次的任务,在里面执行一次数据库操作,确实问题没有再出现了。
Task:
@Scheduled(cron = "0/30 * * * * ?")
public void sqlConnectTest() {
if(!accountInfoService.sqlTest()){
log.info("sql连接失败");
}
}Mybatis Mapper XML:
<select id="sqlTest" resultType="int">
select 1;
</select>对于这块不熟,只能临时应急,希望可以遇到解决方案。
到此这篇关于Springboot2.x结合Mabatis3.x下Hikari连接数据库报超时错误的文章就介绍到这了,更多相关Springboot Hikari连接数据库超时内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Springboot使用redisson + 自定义注解实现消息的发布订阅(解决方案)
Redisson是一个基于Redis的Java驻留内存数据网格(In-Memory Data Grid)和分布式锁框架,它提供了一系列的分布式Java对象和服务,可以帮助开发者更方便地使用Redis作为数据存储和分布式锁的解决方案,感兴趣的朋友跟随小编一起看看吧2024-05-05
详解springboot + profile(不同环境读取不同配置)
本篇文章主要介绍了springboot + profile(不同环境读取不同配置),具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-05-05


最新评论