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

Reply via email to