繁体   English   中英

是否有可能(以及如何)找出在Java中创建命名线程的类?

[英]Is it possible to (and how do I) find out what class created a named thread in Java?

在Ubuntu 12.04 64位的Tomcat 7中,我收到以下错误:

严重:Web应用程序[/ MyApplication]似乎已经启动了一个名为[AS400 Read Daemon [system:mysystem:093048 / QUSER / QZDASOINIT]]但未能阻止它的线程。 这很可能造成内存泄漏。

我想找出创建该线程的内容,以便我可以弄清楚如何阻止它。 如果有帮助的话,我可以用jdb附加到Tomcat。

您可以安装自己的日志记录安全管理器(记录创建线程权限的堆栈),但默认情况下不会记住该信息(只有父线程组和访问控制上下文,除非被覆盖)。

另一个选择是使用类似BTrace的东西来设置线程创建(记录呼叫站点)。 但事实并非如此,这需要一些设置。

也许有助于定期线程转储您的系统并查看相关线程所使用的代码。

该线程的名称听起来非常类似于IBM iSeries的JTOpen Toolbox(TAFKA AS / 400)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM