All, I have a webservice client in the webapp. When the webapp is undeployed the classloader has not been GC'ed. Upon investigation it is found that a thread is in WAIT state which has references to the webapp class loader. I see the following from heap dump.
http-8080-2 at java.lang.Object.wait(J)V (Native Method) at java.lang.Object.wait()V (Object.java:485) at org.apache.tomcat.util.net.JIoEndpoint$Worker.await()Ljava/net/Socket; (JIoEndpoint.java:458) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run()V (JIoEndpoint.java:484) at java.lang.Thread.run()V (Unknown Source) This is a pure development instance used by only a single user. Hence, I have configured the Connector with minSpareThreads="2". If the thread is retained by tomcat to reuse for another request, then wondering why would it not remove references to other objects. Essentially, the thread has threadLocals object that has few references. Version details of tomcat: Server version: Apache Tomcat/6.0.26 Server built: March 9 2010 1805 Server number: 6.0.26.0 OS Name: Linux OS Version: 2.6.18-164.15.1.el5 Architecture: amd64 JVM Version: 1.6.0_18-b07 JVM Vendor: Sun Microsystems Inc. Thanks Srikanth --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org