【发布时间】:2011-12-08 22:50:36
【问题描述】:
当我在 tomcat 中重新部署我的应用程序时,我遇到了以下问题:
The web application [] created a ThreadLocal with key of type
[java.lang.ThreadLocal] (value [java.lang.ThreadLocal@10d16b])
and a value of type [com.sun.xml.bind.v2.runtime.property.SingleElementLeafProperty]
(value [com.sun.xml.bind.v2.runtime.property.SingleElementLeafProperty@1a183d2]) but
failed to remove it when the web application was stopped.
This is very likely to create a memory leak.
另外,我在我的应用程序中使用 ehcache。这似乎也导致了以下异常。
SEVERE: The web application [] created a ThreadLocal with key of type [null]
(value [com.sun.xml.bind.v2.ClassFactory$1@24cdc7]) and a value of type [java
.util.WeakHashMap...
ehcache 似乎创建了一个弱哈希映射,我收到消息说这很可能会造成内存泄漏。
我在网上搜索了一下,发现了这个, http://jira.pentaho.com/browse/PRD-3616 但我无权访问服务器。
请让我知道这些警告是否对功能有任何影响,或者可以忽略它们吗?我在 tomcat 管理器中使用了“查找内存泄漏”选项,它显示“未发现内存泄漏”
【问题讨论】:
-
警告意味着您在不重新启动 Tomcat 的情况下重新部署应用程序的能力受到限制。 Webapps 长期以来一直受到这种类型的内存泄漏的困扰。除非您重新部署应用程序,否则它们不会产生任何影响。我不知道,但我怀疑 Tomcat 输出中的这些消息(它们会在一两年内再次出现)对框架构建者施加压力,要求它们在重新启动后开始正确清理。
标签: java memory-leaks ehcache