Spring Boot:如何禁用Pod启动时自动创建闲置线程
解决Hikari连接池预创建闲置连接的配置方案
当前你的Hikari连接池启动时会创建900个闲置连接(对应线程),核心原因是Hikari默认会将minimum-idle与maximum-pool-size设为相同值,导致启动时直接初始化最大数量的连接。要实现按需创建连接、最小化资源占用,可按以下方式调整配置:
关键配置调整
- 将
spring.datasource.hikari.minimum-idle设为0:关闭预创建空闲连接的机制,连接池仅在有数据库请求时才创建新连接,完全按需分配资源。 - 移除
spring.datasource.hikari.maximum-idle:该参数在HikariCP中已被废弃,不再生效,保留只会造成配置冗余。
调整后的完整配置
spring-open-session-in-view=false spring.datasource.max-lifetime=10000 spring.datasource.hikari.minimum-idle=0 spring.datasource.hikari.idle-timeout=10000 spring.datasource.hikari.maximum-pool-size=900 spring.datasource.hikari.connection-timeout=10000
配置说明
minimum-idle=0:连接池初始无空闲连接,仅在业务需要时动态创建,避免闲置资源占用。idle-timeout=10000:空闲连接超过10秒后自动回收,确保闲置资源及时释放。maximum-pool-size=900:保留最大连接数上限,满足高并发场景下的连接需求。connection-timeout=10000:设置获取连接的超时时间,避免请求因等待连接过长而阻塞。
内容的提问来源于stack exchange,提问作者Hiu Chung Chan
相关产品推荐
相关产品推荐

