Tomcat Vaadin应用程序创建导致内存泄漏的线程

Tomcat Vaadin应用程序创建导致内存泄漏的线程,tomcat,memory-leaks,threadpool,vaadin,catalina,Tomcat,Memory Leaks,Threadpool,Vaadin,Catalina,我有一个Vaadin应用程序的问题,它创建了一些线程,Tomcat说它们可能导致内存泄漏问题。 我不以显式的方式创建线程 SEVERE: The web application [/MyApp] appears to have started a thread named [Timer-0] but has failed to stop it. This is very likely to create a memory leak. ott 29, 2012 9:52:00 AM org.apa

我有一个Vaadin应用程序的问题,它创建了一些线程,Tomcat说它们可能导致内存泄漏问题。 我不以显式的方式创建线程

SEVERE: The web application [/MyApp] appears to have started a thread named [Timer-0] but has failed to stop it. This is very likely to create a memory leak.
ott 29, 2012 9:52:00 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
以及:

这使得应用程序非常不稳定

在开发过程中,这是我第一次遇到这种错误


如何避免这些问题?

这两个问题都与瓦丁无关

您(或您正在使用的库)已经创建了
java.util.Timer
,但尚未取消它


此外,“Threadlocal”问题似乎是由Apache Axiom引起的,并且在Axiom 1.2.12(请参阅和)

中得到了修复,可能是一个库,而不是我。如何找到创建该线程的库?瓦丁可以创建那个线程吗?谢谢你的Axiom建议,恐怕没有简单的方法找到可能创建计时器的库。通过将自己的调试版本的java/util/Timer放入WEB-INF/classes并在构造函数中抛出RunTimeException,您可能可以做一些令人讨厌的黑客工作,但这就是我所能想到的。好吧,也许是Vaadin创建了一些东西。现在,我将尝试新Axiom的库来检查是否可以避免至少第二个错误。谢谢。没什么,axiom也有同样的问题。我导入了新的库,但抛出了相同的错误。我刚刚搜索了Vaadin 6.7.6的源代码,它肯定不会创建任何服务器端计时器线程。(我同时使用Tomcat和Vaadin,从未见过“启动名为[Timer-0]的线程”问题。)以下是Axiom错误报告:。这和你提到的问题是一样的。您确定已从Web应用程序中删除旧罐子吗?
SEVERE: The web application [/MyApp] created a ThreadLocal with key of type [org.apache.axiom.util.UIDGenerator$1] (value [org.apache.axiom.util.UIDGenerator$1@1f7b22b]) and a value of type [org.apache.axiom.util.UIDGeneratorImpl] (value [org.apache.axiom.util.UIDGeneratorImpl@d25438]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
ott 29, 2012 9:52:00 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [/MyApp] created a ThreadLocal with key of type [org.apache.axiom.util.UIDGenerator$1] (value [org.apache.axiom.util.UIDGenerator$1@1f7b22b]) and a value of type [org.apache.axiom.util.UIDGeneratorImpl] (value [org.apache.axiom.util.UIDGeneratorImpl@975b37]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.