Closed
Description
Juergen Hoeller opened SPR-10028 and commented
Spring's CachedIntrospectionResults class traditionally comes with three different modes of static caching, primarily for defensiveness in terms of ClassLoader leaks. These three modes can be simplified to two: basically traditional ClassLoader layouts (with embedded Spring jars within the application) and non-traditional layouts (with the Spring jars higher up the hierarchy or in a different node of the ClassLoader tree altogether).
Issue Links:
- ExtendedBeanInfo exception - java.beans.IntrospectionException [SPR-9702] #14336 ExtendedBeanInfo exception - java.beans.IntrospectionException
- Revisit class cache in CachedIntrospectionResults [SPR-11867] #16486 Revisit class cache in CachedIntrospectionResults
- Overhaul non-void JavaBean write method support [SPR-10029] #14663 Overhaul non-void JavaBean write method support
Metadata
Metadata
Assignees
Labels
Type
Projects
Relationships
Development
No branches or pull requests
Activity
spring-projects-issues commentedon Nov 25, 2012
Juergen Hoeller commented
Previously, CachedIntrospectionResults had three modes of caching, with the intermediate mode relying on WeakReferences in the JDK PropertyDescriptor implementation. Since the JDK is actually using SoftReferences there these days, losing information in case of a GC run with tough memory constraints, we want to allow for hard references in PropertyDescriptor objects and therefore use a full WeakReference for the CachedIntrospectionResults object itself.