tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rallavagu <rallav...@gmail.com>
Subject Re: Multiple Class Loaders
Date Tue, 05 Apr 2016 03:45:11 GMT
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-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message