核心结论是连接泄漏通常并非源于显式异常,而是由异步调用中的隐式资源管理缺陷或事务边界控制失效导致。
1. 引入全局链路追踪,在获取连接的上下文中记录线程堆栈,结合连接池的“借用时间”指标,精确定位长时间未归还连接的代码入口。
2. 重点审查非同步代码块,特别是涉及多线程执行或 `CompletableFuture` 的场景,确保连接在使用完毕后被可靠释放,避免因线程上下文切换导致归还逻辑被绕过。
3. 检查是否存在嵌套事务或长事务问题,例如在循环中发起远程调用,这会导致连接在等待网络响应期间一直被占用,进而耗尽池内资源。 务必在测试环境中模拟网络延迟与高并发场景,通过混沌工程验证连接池的弹性回收能力与超时熔断策略,以彻底消除此类隐蔽性资源泄漏风险。