Sprongboot 2.x , Mabatis3.x下Hikari连接数据库报超时错误

升级到Springboot2.x后,出现数据库连接超时问题,特别是在定时任务运行时。尝试调整HikariPool的maxLifetime参数未解决。目前采用每30s执行一次数据库操作的定时任务作为临时解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原来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>

对于这块不熟,只能临时应急,希望可以遇到解决方案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值