From: Seth L. <set...@gm...> - 2004-10-19 23:58:22
|
On Tue, 19 Oct 2004 18:41:48 -0400, Guillaume Poirier <gpo...@gl...> wrote: > > And we still see OOM w/ redeployments in Tomcat. The more I look into > > it, the more it points to a CGLIB problem from Hibernate. Only when I > > include Hibernate into my deployments or somehow use CGLIB do I get > > OOM after a few redeployments or test runs. > > If you use Hibernate, then there's at least something else that will prevent > the old webapp's classloader to be collected when you application is > reloaded. That's Dom4j, it uses ThreadLocal stuff without ever removing it, > which prevent the ClassLoader to be collected for as long as the pooled > threads are not destroyed. > > However, that particular problem doesn't cause any leak if the webapp's > ClassLoader isn't thrown away. How does it not create a leak if the classloader is not going away? The real cause of the OOM exceptions is that the WebappClassLoader instances never go away. Thanks! Seth |