axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kevan Miller (JIRA)" <>
Subject [jira] Updated: (AXIS-2232) Mappings in TypeDesc can't be GC'ed
Date Fri, 04 Nov 2005 19:57:19 GMT
     [ ]

Kevan Miller updated AXIS-2232:

    Attachment: SingleWeakHashMap.patch

Implementation of 1) that I described in an earlier comment.

There are pathological cases where the javaClass may have been GC'ed before TypeDesc is requested
to compute BeanPropertyDescriptors. If this occurs, I added code to log an error and build
dummy data to be returned to the caller. Includes new message in i18n\

I've run simple tests under Geronimo and verified that ClassLoaders are no longer being held
by TypeDesc. 

> Mappings in TypeDesc can't be GC'ed
> -----------------------------------
>          Key: AXIS-2232
>          URL:
>      Project: Apache Axis
>         Type: Improvement
>   Components: Deployment / Registries
>     Versions: current (nightly)
>     Reporter: David Blevins
>  Attachments: SingleWeakHashMap.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:
For more information on JIRA, see:

View raw message