我有应用程序,部署在 Wildfly 中。有时在应用程序中会发生数据库连接泄漏。我真的在调试器中找不到它们。但它们显示在数据源统计页面的 WildFly 管理控制台中,InUseCount 有时会增加。
所以,问题:
- 可以创建在连接创建和关闭时触发的处理程序吗?在全球范围内查找未关闭连接的人。
- 有没有连接泄漏的故障排除方法,比简单的调试更有效?
我有应用程序,部署在 Wildfly 中。有时在应用程序中会发生数据库连接泄漏。我真的在调试器中找不到它们。但它们显示在数据源统计页面的 WildFly 管理控制台中,InUseCount 有时会增加。
所以,问题:
我找到了这篇文章:
http://www.mastertheboss.com/jbossas/wildfly9/detecting-connection-leaks-in-wildfly-9
但对于现代版本的 WildFly(例如 19 及更高版本)来说,它并不准确。问题在于,在现代版本的 WildFly 启动时不使用参数 ironjacamar.mcp。mcp
必须使用数据源的这个参数选项而不是。
关于数据源选项的文档:
https://docs.wildfly.org/19.1/wildscribe/subsystem/datasources/xa-data-source/index.html
在刷新数据源时添加mcp
选项后,会leaks.txt
出现文件。