[ 
http://issues.apache.org/jira/browse/AXIS-2232?page=comments#action_12356747 ] 

Kevan Miller commented on AXIS-2232:
------------------------------------

Just one additional historical note -- I was gathering some of the memory usage 
statistics before and after this patch was created. Hard to recreate what 
exactly went on, but it appears that I mistakenly attributed improvements in 
memory utilization to this patch... Thus giving the patch credence that it 
perhaps did not the deserve...

Good news is that we've gotten to the bottom of this long-standing issue...

> Mappings in TypeDesc can't be GC'ed
> -----------------------------------
>
>          Key: AXIS-2232
>          URL: http://issues.apache.org/jira/browse/AXIS-2232
>      Project: Apache Axis
>         Type: Improvement
>   Components: Deployment / Registries
>     Versions: current (nightly)
>     Reporter: David Blevins
>  Attachments: TypeDesc.java.patch
>
> The TypeDesc class holds a static Hashtable of class -> TypeDesc mappings.  
> This is fine if Axis is loaded into the only the same classloader as the app 
> itself (like when it's embedded in a webapp), but if axis is loaded into the 
> parent classloader of all webapps, the hashtable will prevent those children 
> classloaders from being garbage collected as it holds references to classes 
> in those children classloaders.
> This patch 1) creates a Hashtable of class->TypeDesc for *each classloader* 
> and 2) stores those hashtables in a WeakHashMap so they can be garbage 
> collected when the child classloaders are garbage collected.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to