毕竟是万圣节。
这就是问题所在:我正在使用 Quartz 维护一些老式的 J2EE 代码,但其中的线程已经用完了。 jconsole
告诉我当它变成梨形时只有 60K 线程,其中大约 100(!!)实际上正在运行。直觉和一些谷歌搜索(另见这里)表明正在发生的事情(我打赌 Quartz)正在创建永远不会被清理的非托管线程。
几个子问题:
它有一个工具,我可以轻松地使用它来跟踪线程创建,所以我可以确定问题真的是 Quartz?
我发现的关于类似问题的大部分内容都参考了 Weblogic;这是Tomcat的错误线索吗?
有人有已知的解决方案吗?
自从我做 J2EE 以来已经有好几年了,所以如果这是可以简单解决的问题,我不会太惊讶。
更新:它显然在无限制地增加线程,请参阅 jconsole 中的此图。