我刚开始在我的Tomcat webapp中使用Google Guice,每当WAR文件未部署时,我会在catalina.out文件中看到以下内容:
May 16, 2011 5:37:24 PM org.apache.catalina.startup.HostConfig checkResources
INFO: 正在取消部署上下文[/app]
May 16, 2011 5:37:24 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: 一个Web应用程序似乎已经启动了一个名为[com.google.inject.internal.util.$Finalizer]的线程,但未能停止它。这很可能会导致内存泄漏。
May 16, 2011 5:37:24 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap SEVERE: 一个Web应用程序创建了一个ThreadLocal,其键类型为[null](值为[com.google.inject.internal.InjectorImpl$1@10ace8d]),值类型为[java.lang.Object[]](值为[[Ljava.lang.Object;@7e9bed]),但在Web应用程序停止时未能将其删除。为防止内存泄漏,ThreadLocal已被强制删除。
有人知道是什么原因引起的吗?或者我该如何阻止它发生?
我只是按照这里的说明进行操作http://code.google.com/docreader/#p=google-guice&s=google-guice&t=ServletModule,尚未进行任何高级操作。我只有两个servlet和一个过滤器。
谢谢!