2017-09-14 161 views
0

每次关机tomcat时我都会收到以下消息。关于tomcat 7的内存泄露警告关机

严重[本地主机-startStop-2] org.apache.catalina.loader.WebappClassLoader.clearReferencesThreads Web应用[/ XXX]似乎已经开始了一个名为线程[XXXXX],但未能阻止它。这很可能造成内存泄漏。

为什么会生成消息,我该如何解决?

回答

0

为什么生成此消息?

Web应用程序[/ xxx]似乎启动了一个名为[xxxxx]的线程,但未能停止它。这很可能造成内存泄漏。

我该如何解决?

您已成功匿名问题中的线程名称。我只能假设它是你的web应用程序在后台启动的线程(可能不在你的代码中,但在某些库的代码中)。在取消部署应用程序后,您必须关闭它,或者完全停止使用后台线程 - 例如通过使用执行者。或者,如果您没有将应用程序热部署到正在运行的tomcat中,只需忽略它:您只会在关闭tomcat时收到此消息。如果tomcat没有真正关闭,你可能需要使这个线程成为一个守护进程,这样当主线程终止时,JVM会关闭它。这非常务实,但风格不好。