On 12/17/10 3:01 AM, Pid wrote:
> On 15/12/2010 15:37, Srikanth Konjarla wrote:
>>
>>
>> On 12/15/10 7:13 AM, Pid wrote:
>>> On 15/12/2010 02:40, Srikanth Konjarla wrote:
>>>> I could catch Axis threadlocals from the app to clean up. However, I
>>>> have a question wrt following tomcat's log at the time of undeploy of
>>>> app. The message suggests that it is removing the same threadlocal
>>>> twice. Is it because it was not removed in the first attempt?
>>>>
>>>> ---------------------------------------------------------------------
>>>> ec 15, 2010 1:05:28 AM org.apache.catalina.loader.WebappClassLoader
>>>> clearThreadLocalMap
>>>> SEVERE: A web application created a ThreadLocal with key of type
>>>> [java.lang.ThreadLocal] (value [java.lang.threadlo...@14213040]) and a
>>>> value of type [org.apache.catalina.loader.WebappClassLoader] (value
>>>> [WebappClassLoader
>>>>   delegate: false
>>>>   repositories:
>>>>     /WEB-INF/classes/
>>>> ----------> Parent Classloader:
>>>> org.apache.catalina.loader.standardclassloa...@6ee3849c
>>>> ]) but failed to remove it when the web application was stopped. To
>>>> prevent a memory leak, the ThreadLocal has been forcibly removed.
>>>> Dec 15, 2010 1:05:28 AM org.apache.catalina.loader.WebappClassLoader
>>>> clearThreadLocalMap
>>>> SEVERE: A web application created a ThreadLocal with key of type
>>>> [java.lang.ThreadLocal] (value [java.lang.threadlo...@14213040]) and a
>>>> value of type [org.apache.catalina.loader.WebappClassLoader] (value
>>>> [WebappClassLoader
>>>>   delegate: false
>>>>   repositories:
>>>>     /WEB-INF/classes/
>>>> ----------> Parent Classloader:
>>>> org.apache.catalina.loader.standardclassloa...@6ee3849c
>>>> ]) but failed to remove it when the web application was stopped. To
>>>> prevent a memory leak, the ThreadLocal has been forcibly removed.
>>>> --------------------------------------------------------------------
>>>
>>> I don't think this is from Axis, does your code check other sources?
>> Right. This is not from Axis. This is from one of the components of the
>> app. I am wondering why the threalocal is not cleared at first time? 
> 
> Are you generically clearing all ThreadLocals, or just Axis related ones?
I am clearing ThreadLocals pertaining to Axis. Also, clearing all
threadlocals from context listener during "destroy" process of the webapp.

> 
>> Or is it one each for "threadLocals" and "inheritedthreadLocals"?
> 
> Yes, you need to clear them separately.
Right. The code mimics tomcat's cleaning process that exists in
"WebappClassLoader" class.

Srikanth

> 
> 
> p
> 

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

Reply via email to