SpringBoot + 数据库连接池假死排查:HikariCP 获取连接超时?连接泄漏检测 + 线程 Dump 分析
一、问题背景:线上故障的惊魂时刻 某日下午,线上系统突然出现大量接口超时,错误日志显示: Could not get JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30000ms. 更诡异的是:数据库服务器正常,网络连接正常,应用日志中却没有任何 SQL 执行超时。 这正是数据库连接池"假死"现象的典型特征。 二、核心概念:HikariCP 连接池机制 2.1 连接池工作原理 ┌────────────────────────────────────────────────────────────────┐ │ HikariCP 连接池架构 │ ├────────────────────────────────────────────────────────────────┤ │ │ │ 应用线程 │ │ │ │ │ ▼ │ │ ┌───....