jsp - tomcat - 计时器内存泄漏

标签 jsp tomcat servlets memory-leaks

我目前使用的是 tomcat7 。我的 Web 应用程序在 stop 时导致 Timer 内存泄漏。 日志是:

   SEVERE: A web application appears to have started a TimerThread     
   named [Timer-5] via the java.util.Timer API but has failed to stop it. 
   To prevent a memory leak, the timer (and hence the associated thread) 
   has been forcibly cancelled.   

我没有在我的网络应用程序中使用 java.util.Timer

最佳答案

这不一定表示您的代码正在使用java.util.Timer(顺便说一下,这在 Java EE webapp 中是一个非常糟糕的主意,因为提到的原因 here )。此 Timer 也可以作为您的 webapp 的 /WEB-INF/lib 文件夹中提供的任何库的一部分包含在内。显然,某些库已在创建 Timer 的 webapp 启动时自动注册了 ServletContextListenerServletContainerInitializer

您需要调查它是哪个库,然后相应地修复/删除它。提取 JAR 以检查随附的代码,或将它们一一删除。一旦找到罪魁祸首,我肯定会向库的维护人员报告,绝对不建议在 Java EE webapp 中使用 Timer,他们必须修复它。

关于jsp - tomcat - 计时器内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10725498/

相关文章:

java - 如果上下文和根名称不同,则获取 Java Web 应用程序中的根目录名称

java - 用于 servlet 的 Tomcat 配置

java - 比较 Long 值 Struts2

tomcat - 多个服务器的grails不同配置文件

java - 单个 web 应用程序或上下文的多个 war 文件

java - 小服务程序和 JSP : How to send parameters with a link

java - Struts2 Web 应用程序中的 HTTP 状态 404

java - 我如何连接两个用户,以便他们可以使用 J2EE 网络技术(JSP、Spring 等)共享公共(public)对象(游戏实例)?

eclipse - JSP:Eclipse 中的标签库 Intellisense 问题

apache - proxy_ajp :error (70007)The timeout specified has expired: