这个提供的方法为配置日志和日志查看,未找到其他的合适方法。
两个关键参数说明:
unreturnedConnectionTimeout, 这个参数配置的时间到点后,系统会强制关闭连接。开始计算时间的起点为:获取连接的时候开始计算。
unreturnedConnectionTimeout用法:连接被检出后,若指定时间内未归还,则连接池关闭连接并记录堆栈信息,用于解决连接泄漏问题
maxIdleTime: 最大的空闲时间,连接进入空闲状态开始,即连接在被使用完毕后,回到连接池中等待下一次被检出的时间。
maxIdleTime用法:在连接超过最大闲置时间后断开连接,并回收相关资源.,但无法防止应用程序在检出连接后未正确归还的情况。
- 连接泄漏规避:仅凭maxIdleTime配置无法完全规避连接泄漏。maxIdleTime只能确保空闲连接不会无限期保留,但无法防止应用程序在检出连接后未正确归还的情况。
- 额外措施:
- unreturnedConnectionTimeout:应设置为大于maxIdleTime,以便在连接未按时归还时由连接池关闭并记录堆栈信息。
- debugUnreturnedConnectionStackTraces:设置为true,以便跟踪连接泄漏问题。
- 总结:要规避连接泄漏,除了配置maxIdleTime外,还需要结合unreturnedConnectionTimeout和debugUnreturnedConnectionStackTraces等参数,并确保应用程序正确管理数据库连接。
参考配置如下: