【发布时间】:2020-12-07 13:10:18
【问题描述】:
我为数据源启用了统计信息,并且可以看到活动连接比预期的要多得多。我想服务器上的一些部署错过了调用 Connection.close() 从而保持连接处于活动状态而不是将它们返回到池中。 我想就我可以用来确定服务器上谁保持连接处于活动状态的方法征求您的意见。有几个部署使用特定的数据源。
分析器? JMX?还有什么?
谢谢, 瓦莱里
【问题讨论】:
标签: jboss wildfly datasource
我为数据源启用了统计信息,并且可以看到活动连接比预期的要多得多。我想服务器上的一些部署错过了调用 Connection.close() 从而保持连接处于活动状态而不是将它们返回到池中。 我想就我可以用来确定服务器上谁保持连接处于活动状态的方法征求您的意见。有几个部署使用特定的数据源。
分析器? JMX?还有什么?
谢谢, 瓦莱里
【问题讨论】:
标签: jboss wildfly datasource
https://access.redhat.com/solutions/309913 似乎正是我想要的。
解决方法 使缓存连接管理器 (CCM) 能够识别 连接泄漏:
- 为数据源启用 CCM。如果未明确指定,则默认为 true,但您可以明确设置 use-ccm="true"。
- 验证是否存在于 jca 子系统中并设置 debug="true"
设置 debug="true" 将:
记录一条 INFO 消息,指示 JBoss 正在“关闭连接 你。请自行关闭它们”为代码生成堆栈跟踪 首次打开泄漏连接的位置。关闭泄露的 连接
【讨论】: