解决多数据源导致的HikariPool-2 - Exception during pool initialization 问题

项目在启动后因多数据源配置变更但Nacos未及时更新,引发HikariPool初始化异常。解决方案包括调整HikariPool的配置参数,如设置自动提交、最小和最大连接数、空闲超时和最大存活时间等,以确保连接池的稳定性和效率。同时,建议优化Nacos的配置更新机制。
摘要由CSDN通过智能技术生成

项目场景:

分布式项目,使用nacos为配置中心,多数据源配置发生变化


问题描述

启动项目后报错:HikariPool-2 - Exception during pool initialization 


原因分析:

团队项目,有人修改了多数据源配置,nacos配置文件没有及时更新(nacos这点不方便)


解决方案:

spring:

        datasource:

                hikari:

                        # 自动提交从池中返回的连接

                        auto-commit: true

                        # 连接池中维护的最小空闲连接数

                        minimum-idle: 10

                        # 连接池中允许的最大连接数。缺省值:10;推荐的公式:((core_count * 2) + effective_spindle_count)

                        maximum-pool-size: 60

                        # 空闲连接超时时间,默认值600000(10分钟),大于等于max-lifetime且max-lifetime>0,会被重置为0;不等于0且小于10秒,会被重置为10秒。

                        # 只有空闲连接数大于最大连接数且空闲时间超过该值,才会被释放

                        idle-timeout: 30000

                        # 连接最大存活时间.不等于0且小于30秒,会被重置为默认值30分钟.设置应该比mysql设置的超时时间短

                        max-lifetime: 1800000

                        # 等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQLException, 缺省:30秒

                        connection-timeout: 30000

                        # 连接测试查询

                        connection-test-query: select 1

                        #connection-test-query: select 1 from dual

以上配置根据具体需求进行更改

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值