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
0x62590808.asc
Description: application/pgp-keys
signature.asc
Description: OpenPGP digital signature