毕竟这是万圣节。
问题是:我正在使用Quartz维护一些旧的J2EE代码,在这些代码中,线程都用完了。jconsole告诉我,当它变成梨形时,只有不足60K的线程,其中大约有100个(!!)实际上是在逃跑。直觉和一些googling (也请参阅这里)表明正在发生的事情(我打赌Quartz)正在创建从未被清理过的非托管线程。
若干分问题:
我已经多年没有做J2EE了,所以如果这件事可以简单地解决的话,我不会感到太惊讶。
更新:它显然在增加没有绑定的线程,请从j控制台查看此图。

发布于 2009-10-30 16:41:02
org.quartz.simpl.SimpleThreadPool的日志记录级别以进行调试以获得更多信息。org.quartz.threadPool.threadCount以停止线程的耗尽。更新:
发布于 2009-10-30 17:21:21
你看过jvisualvm吗?它提供了一些更多的信息。
另外,获取堆栈跟踪以查看线程实际上在等待什么。你可能有一种阿哈感觉就在那里。
https://stackoverflow.com/questions/1650857
复制相似问题