标签: ironjacamar

在WildFly中转储泄漏连接

我试图在WildFly 10.1中转储由MySQL数据源管理的泄漏连接,但我无法找到泄漏文件或泄漏转储.

为什么leaks.txt文件没有生成?而且,我应该在哪里寻找文件?

程序

我在standalone.bat文件中注册了泄漏连接池:

"JAVA_OPTS=%JAVA_OPTS% -Dironjacamar.mcp=org.jboss.jca.core.connectionmanager.pool.mcp.LeakDumperManagedConnectionPool -Dironjacamar.leaklog=leaks.txt"
Run Code Online (Sandbox Code Playgroud)

我可以确认在WildFly中设置属性,因为日志中显示:

JAVA_OPTS: "-Dprogram.name=standalone.bat -Xms64M -Xmx512M -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Dironjacamar.mcp=org.jboss.jca.core.connectionmanager.pool.mcp.LeakDumperManagedConnectionPool -Dironjacamar.leaklog=leaks.txt"
Run Code Online (Sandbox Code Playgroud)

之后,我在模拟应用程序中泄漏了一些连接以生成数据.然后我运行CLI命令刷新所有连接获得肯定响应:

[standalone@localhost:9990 /] /subsystem=datasources/data-source=mysql-ds:flush-all-connection-in-pool
{"outcome" => "success"}
Run Code Online (Sandbox Code Playgroud)

但我无法在leaks.txt任何地方找到该文件.

我正在使用这篇文章以及IronJacamar泄漏文档作为参考.

检漏池使用ironjacamar.mcp系统属性配置,值为

org.jboss.jca.core.connectionmanager.pool.mcp.LeakDumperManagedConnectionPool

此配置适用于IronJacamar使用的所有连接池.

系统属性ironjacamar.leaklog可用于将泄漏转储到与日志记录设置分开的特殊文件中.

一个例子

-Dironjacamar.mcp=org.jboss.jca.core.connectionmanager.pool.mcp.LeakDumperManagedConnectionPool -Dironjacamar.leaklog=leaks.txt

更新

线程969369在JBoss论坛中创建,因此他们也可以帮助它.

Bug报道了JBJCA-1360.

java connection-leaks wildfly wildfly-10 ironjacamar

8
推荐指数
1
解决办法
1380
查看次数