commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oliver Heger (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (BEANUTILS-456) Write methods for PropertyDescriptors created during custom introspection are lost
Date Fri, 03 Jan 2014 19:47:50 GMT

     [ https://issues.apache.org/jira/browse/BEANUTILS-456?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Oliver Heger resolved BEANUTILS-456.
------------------------------------

       Resolution: Fixed
    Fix Version/s: 1.9.1

Fixed in subversion in revision 1555232.

> Write methods for PropertyDescriptors created during custom introspection are lost
> ----------------------------------------------------------------------------------
>
>                 Key: BEANUTILS-456
>                 URL: https://issues.apache.org/jira/browse/BEANUTILS-456
>             Project: Commons BeanUtils
>          Issue Type: Bug
>          Components: Bean / Property Utils
>    Affects Versions: 1.9.0
>            Reporter: Oliver Heger
>             Fix For: 1.9.1
>
>
> From version 1.9.0 on, BeanUtils allows custom introspection. This means that the properties
of classes are supported which do not necessarily conform to the Java Beans specification.
> During introspection {{PropertyDescriptor}} objects are created for the properties detected.
For properties not conforming to the Java Beans specification it seems that these descriptor
objects are not very durable:
> The write method passed to a {{PropertyDescriptor}} is internally stored as {{SoftReference}}
(at least in Java 1.7). If necessary, it has to be obtained anew when it is accessed. The
code which does this contains some checks whether the retrieved method is compliant to the
Java Beans specification. If not, the property's write method is set to *null*.
> Unfortunately, this has the effect that certain {{PropertyDescriptor}} objects created
during the introspection phase are no longer usable after their SoftReferences have been claimed
by the GC.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Mime
View raw message