我是servlets和使用Tomcat 7.0.34版本的新手(我們被指示僅使用此版本)。我的問題是,Tomcat似乎在某個時間點重新啓動,這發生在我一段時間不與servlet交互時。我看到以下內容:運行Servlet時的RuntimeException:Tomcat自己重新啓動
此外,當我通過月食試圖調試我看到在調試窗口中輸入以下內容:
Daemon Thread [http-bio-80-exec-1] (Suspended (exception RuntimeException))
ThreadPoolExecutor(ThreadPoolExecutor).runWorker(ThreadPoolExecutor$Worker) line: not available
ThreadPoolExecutor$Worker.run() line: not available
TaskThread(Thread).run() line: not available
而這個控制檯:
SEVERE: The web application [/csj] is still processing a request that has yet to finish. This is very likely to create a memory leak. You can control the time allowed for requests to finish by using the unloadDelay attribute of the standard Context implementation.
Okt 03, 2016 1:39:39 AM org.apache.catalina.core.StandardContext reload
INFO: Reloading Context with name [/csj] is completed
我想知道爲什麼Tomcat是重新啓動。如果我不停地點擊按鈕,那麼就不會看到這個問題。
我試着在這裏看:Tomcat showing this error "This is very likely to create a memory leak". How to resolve this issue?和在這裏:The web application [ROOT] is still processing a request that has yet to finish. [Tomcat]但我很難理解。
看來這個問題已經解決了在更新版本的Tomcat根據這個:http://wiki.apache.org/tomcat/MemoryLeakProtection。不過,我想了解這個問題是什麼。
編輯:使用Eclipse-MARS
不幸的是,這並沒有解決問題...我在控制檯中看到以下內容:Okt 03,2016 8:17:13 PM org.apache.catalina.core.StandardContext reload INFO:Reloading Context with name [/BestDeal]已開始 2016年3月3日8:17:14 org.apache.catalina.core.StandardContext重新加載 信息:名稱[/ BestDeal]的重新加載上下文已完成 – hrushi
在\ tomcat \ conf \ server.xml中,在
一個問題:在Servlet中使用getClass()是否會造成潛在的內存泄漏? – hrushi