On 13/12/2010 12:23, Pid wrote:
> On 12/12/2010 18:18, Srikanth Konjarla wrote:
>>
>>
>> On 12/12/10 8:28 AM, Pid * wrote:
>>> On 11 Dec 2010, at 21:39, Srikanth Konjarla <srikanth.konja...@gmail.com> 
>>> wrote:
>>>
>>>>
>>>> On Dec 11, 2010, at 1:04 PM, "Pid *" <p...@pidster.com> wrote:
>>>>
>>>>> On 11 Dec 2010, at 20:02, Srikanth Konjarla <srikanth.konja...@gmail.com> 
>>>>> wrote:
>>>>>
>>>>>> Pid,
>>>>>>
>>>>>> Thanks for your patience. Here is the output from catalina.out file
>>>>>> while the webapp is being undeployed. As you can see there are few
>>>>>> threadLocals that are cleaned up.
>>>>>>
>>>>>> ----------------------------------------------------------------------
>>>>>> Dec 10, 2010 8:46:56 PM org.apache.catalina.loader.WebappClassLoader
>>>>>> clearThreadLocalMap
>>>>>> SEVERE: A web application created a ThreadLocal with key of type
>>>>>> [java.lang.ThreadLocal] (value [java.lang.threadlo...@7ee75db3]) 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...@1eb3319f
>>>>>> ]) but failed to remove it when the web application was stopped. To
>>>>>> prevent a memory leak, the ThreadLocal has been forcibly removed.
>>>>>
>>>>> The above means that something is storing the WebappClassLoader in a
>>>>> ThreadLocal. Is your app doing this?
>>>>>
>>>>> The two below I know about and I believe are defects in Axis 1.4.
>>>> The only component that uses threadlocals in my app is Axis and I believe 
>>>> it is not cleaning up after completely.
>>>
>>> I agree.
>>>
>>>> Originally, I have started on tracking down Axis threads that are 
>>>> responsible. In this case, Axis is performing webservice client operations.
>>>
>>> Then you are also seeing an additional problem - namely that the
>>> classloader itself is being stored in a threadlocal. I haven't seen
>>> Axis do that so far.
>> You are correct. I think it is Spring framework (also used in the
>> application) that is storing classloader in threadlocal. 
> 
> Which version of Spring Framework are you using and how do you arrive at
> that conclusion?
> 
> Are you using any other libraries and if so, which exact versions are
> you using?
> 
> 
>> BTW, do you
>> have any suggestions on where/how to track Axis threads so that I can
>> clean them up from my app?
> 
> I'm still looking into it - but I'll post here when I've got an answer.

In the meantime you might consider moving to Axis2...


p

Attachment: 0x62590808.asc
Description: application/pgp-keys

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to