2011-05-09 386 views
3

我在Apache Cocoon中創建了一個Web應用程序。該網站正常運行,但每3-4天后都會停止響應。直到除非我們重新啓動tomcat服務,它纔會運行。在catalina.2011-05-09.log文件,它顯示了以下錯誤: -Tomcat顯示此錯誤「這很可能會造成內存泄漏」。如何解決這個問題?

「2011年5月9日上午03時17分34秒org.apache.catalina.loader.WebappClassLoader clearReferencesThreads 重度:Web應用程序[/ webresources]仍在處理尚未完成的請求,這很可能導致內存泄漏,您可以通過使用標準Context實現的unloadDelay屬性來控制允許請求完成的時間。「

我無法理解這個問題的原因。有人可以建議我如何解決這個問題?

回答

0

它告訴你的問題:

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

你需要找出的要求是什麼/是要。一個簡單的方法是安裝PsiProbe之類的東西。

此外,每晚重新啓動Tomcat並不是一個壞主意。它可以幫助緩解這些問題,直到找到根本原因。

1

您正在使用的庫正在啓動一個或多個線程,並且未正確關閉它們或釋放線程捕獲的其他資源。這經常發生在像Apache HTTP組件這樣的事情上(我得到了Http組件的這個錯誤)以及任何在內部使用單獨線程的東西。你在Cocoon應用程序中使用了哪些庫?