You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Oliver Heger (JIRA)" <ji...@apache.org> on 2014/01/11 17:53:50 UTC

[jira] [Closed] (BEANUTILS-456) Write methods for PropertyDescriptors created during custom introspection are lost

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

Oliver Heger closed BEANUTILS-456.
----------------------------------


> 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)