Java Mailing List Archive

http://www.junlu.com/

Home » Home (12/2007) » Tomcat Users »

WebappClassLoader not GC'd after webapp reload (Tomcat 4.1.24, 5.0.18)

Tatyana Apine

2004-01-28

Replies:

Hi all,

I've got a problem and was wondering if you ever experienced something like
this.

My webapplication is using Struts(1.1) and Log4J (1.2.7). I run it on tomcat
4.1.24 (I also tried 5.0.18 and got the same behavior).

I use OptimizeIt (version 4.2) to see what classes weren't garbage collected
after I stop or reload my webapplication. I noticed that
org.apache.catalina.loader.WebappClassLoader is not removed after I
stop/reload my webapplication. Every time I restart my application, the new
WebappClassLoader is added to the list of WebappClassLoaders instances - and
they never get garbage collected.

I debugged this class and the class that is referencing this class loader
(org.apache.catalina.loader.WebappLoader) and made sure that all references
to this class from the WebappLoader are removed. OptimizeIt is showing that
"incoming refernces" after application stop for the WebappClassLoader class
are java.security.ProtectionDomain and sun.reflect.DelegatingClassLoader.
This information does not help me too much :(

I also made sure that all Threads that are started when I start the
application are stopped after I stop it (and all Thread instances are GC'd
as well).

I can reproduce the same problem with struts-blank application from the
apache web site (it's inside the struts1.1 zip file -
http://mirrors.isc.org/pub/apache/jakarta/struts/binaries/jakarta-struts-1.1.zip
) - if I reload/stop this application the WebappClassLoader that was used by
it is not GC'd.

I also tried using IBM JDK - and I have the same behavior with it (1.3.1).

I have no ideas on what else I can try, except trying another application
server - but it will be a huge effort that I would like to avoid. Did you
ever have the same thing happening? Do you have any ideas on what else I can
try here? I will really appreciate any help on this problem.

Thank you,
Tatjana.

_________________________________________________________________
Check out the new MSN 9 Dial-up ? fast & reliable Internet access with prime
features! http://join.msn.com/?pgmarket=en-us&page=dialup/home&ST=1


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@(protected)
For additional commands, e-mail: tomcat-user-help@(protected)



©2008 junlu.com - Jax Systems, LLC, U.S.A.