问题描述
我为数据源启用了统计信息,并且可以看到有比预期更多的活动连接。我想服务器上的某些部署会丢失调用Connection.close()的方法,从而使连接处于活动状态,而不是将它们返回到池中。 我想就您可以用来确定谁在服务器上保持连接活动的方法提出建议。有几种使用特定数据源的部署。
分析器? JMX?还有什么?
谢谢, 瓦莱里(Valery)
解决方法
https://access.redhat.com/solutions/309913 似乎正是我想要的。
解决方案要使高速缓存的连接管理器(CCM)能够识别 连接泄漏:
- 为数据源启用CCM。如果未显式指定,则默认为true,但是您可以显式设置use-ccm =“ true”。
- 验证jca子系统中是否存在,并设置debug =“ true”
设置debug =“ true”将:
记录一条INFO消息,指示JBoss正在“为以下情况关闭连接 您。请自己关闭它们”为代码生成一个堆栈跟踪 首次打开泄漏的连接的位置。关闭泄漏的 连接