1

全部:这是我的问题:当我使用 shundown.bat 关闭 tomcat 时,它失败了,这里有一些日志:

Severe: The web application [/shop] appears to have started a thread named [ConnectionStateManager-0] but has failed to stop it. This is very likely to create a memory leak.

2013-10-22 11:38:10 org.apache.catalina.loader.WebappClassLoader clearReferences

Severe: The web application [/shop] appears to have started a thread named [CuratorFramework-0] but has failed to stop it. This is very likely to create a memory leak.

从日志中我们可以知道可能是某些线程无法停止,可能导致内存泄漏;

以前有人看过这个,或者有人可以给一些灵魂,谢谢

4

2 回答 2

1

最好将这个问题直接提交给 Shop Servelet 的创建者,只有他/她才能确定。

Servlet 应该是无状态的,但并非必须如此。但是,如果您突破了无状态系统(在这种情况下,通过保持特殊线程处于活动状态),TomCat 将无法再确保清理将正确完成,因此会发出警告。因此,如果编码正确,这可能是一个问题,但不一定是。

于 2013-10-22T08:28:39.923 回答
1

好吧,如果您要关闭tomcat,那么某些线程是否停止也没关系。一旦java进程结束,每个线程都会死掉,内存就会被释放。

只要注意java进程不会挂起,也许你可以在shutdown.bat中添加kill规则来调用它-force(请参阅tomcat手册,我不知道windows),或者只是从你的任务管理器中检查它。

希望它有帮助

PS 因为我记得我的环境中总是有这些日志行,但我从来没有遇到过任何问题。

于 2013-10-22T07:51:33.607 回答