原来Springboot1.x的版本没有这个问题,升级到2.x之后,刚启动没有问题,数据库获取数据很正常,但是几分钟没有数据库azXPx操作后,定时任务连接数据库时会报超时。
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的数据库连接这python块不熟,但推测问题还是在数据库连接线程程序端和数据库端不同步导致的。
最终用来一种很临时的方式解决了:
定时任务里面开一个30s执行一次的任务,在里面执行www.devze.com一次js数据库操作,确实问题没有再出现了。
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>
对于这块不熟,只能临时应急,希望可以遇到解决方案。
到此这篇关于Sprandroidingboot2.x结合Mabatis3.x下Hikari连接数据库报超时错误的文章就介绍到这了,更多相关Springboot Hikari连接数据库超时内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!
精彩评论