Chris,
Thanks for the response. As I have mentioned, there are bugs in
application code that prevents WebAppClassLoader from GC collection.
Wondering what happens when two instances are running one is pinned due
to application bugs and one newly deployed. For instance, would the
pinned instance be active?
On 4/4/16 8:03 PM, Christopher Schultz wrote:
Rallavagu,
On 4/4/16 8:13 PM, Rallavagu wrote:
Tomcat 7.0.47, JDK 7
When an app is hot deployed in-place by simply copying the .war file
into webapps directory, the old webappclassloader is not cleared
completely because of inefficient context shutdown from the app. In this
case, two instances of WebAppClassLoader are running for the same
context root (at least appears that way from heap dump). Wondering what
would be the expected behavior if there is any? I understand that this
is the problem with deployment and application that is written but
wondering how would Tomcat behave in this case.
Tomcat behaves correctly.
Your web application must have code in itself or one of its dependent
libraries which pins the context's ClassLoader in memory.
Have a look at
https://home.apache.org/~markt/presentations/2010-08-05-Memory-Leaks-JavaOne-60mins.pdf
for information about ClassLoader-pinning leaks, how to find them, and
how to fix them.
-chris
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org