我们有一个通过rmi连接到另一个java应用程序的java应用程序。
此应用程序有多个实例同时运行,几天后,一个实例将停止处理…CPU在0中,我有一个额外的线程监听一个有助于关闭应用程序的特定端口。
我可以连接到特定的端口,但应用程序什么也不做。
我们使用log4j来保存一个日志,但是什么都没有写,所以没有抛出任何异常。
我们还使用c3p0进行数据库连接。
有人有主意吗?
谢谢,

最佳答案

我建议从受影响应用程序的线程转储开始。
你需要一个线程一个线程地查看发生了什么。可能是因为您有一个长时间运行的线程,或是其他阻止其他工作完成的进程。
由于您运行的是linux,因此可以使用以下命令获取线程转储

kill -3 <pid>

如果你需要帮助阅读输出,请把它贴在你原来的问题上。
如果线程转储中没有显示任何内容,则可以查看其他替代方案。

09-28 12:41