3

我在 Apache Cocoon 中创建了一个 Web 应用程序。这个网站运行正常,但每隔 3-4 天,它就会停止响应。它不会运行,除非我们重新启动 tomcat 服务。在 catalina.2011-05-09.log 文件中,它显示以下错误:-

“2011 年 5 月 9 日凌晨 3:17:34 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads 严重:Web 应用程序 [/webresources] 仍在处理尚未完成的请求。这很可能会造成内存泄漏. 您可以使用标准 Context 实现的 unloadDelay 属性来控制请求完成的时间。”

我无法理解这个问题的原因。有人可以建议我如何解决这个问题吗?

4

2 回答 2

1

您正在使用的库正在启动一个或多个线程,但没有正确关闭它们或释放线程捕获的其他资源。这经常发生在诸如 Apache HTTP 组件(我在 Http 组件中遇到此错误)以及任何在内部使用单独线程的东西上。您在 Cocoon 应用程序中使用了哪些库?

于 2011-05-09T14:32:27.520 回答
0

它告诉你这个问题:

 [...] is still processing a request that has yet to finish

您需要找出该请求是/将要做什么。一种简单的方法是安装PsiProbe 之类的东西。

另外,每晚重启 Tomcat 也不错。在找到根本原因之前,它可以帮助缓解这些问题。

于 2011-05-09T14:30:35.253 回答