【发布时间】:2020-07-29 15:45:36
【问题描述】:
问题: 我收到了来自数据库团队的报告,报告说有很多连接打开并且没有关闭。
期望: 如何在 java/spring boot 应用程序中轻松识别连接泄漏或打开连接?
【问题讨论】:
-
请使用 jconsole 并监控线程
-
让防火墙团队检查这是否是中间防火墙关闭“陈旧”连接的情况。 DB 和 Java Web 应用程序都不会知道发生了这种情况。解决方案是设置 tcp keep-alive。
-
您确定您实际上是在泄漏连接,而不仅仅是连接池太大?连接池保持连接打开以供重用,这可能会给您的 DBA 团队留下您没有关闭连接的印象。
标签: java oracle spring-boot jdbc connection-pooling