You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Fried Hoeben (JIRA)" <ji...@apache.org> on 2009/09/02 11:46:32 UTC

[jira] Updated: (CXF-2417) BeanTypeInfo does not ignore synthetic (bridge) methods to determine property types

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

Fried Hoeben updated CXF-2417:
------------------------------

    Attachment: cxf-aegis-BeanTypeInfo.patch

Attached a patch for BeanTypeInfo that uses the spring framework to get the correct property descriptors.

I assume that Aegis can not depend on spring in this way, but this code was OK in my environment and maybe it allows you to drill into spring's implementation and build your own code to work around this bug in the JVMs...

> BeanTypeInfo does not ignore synthetic (bridge) methods to determine property types
> -----------------------------------------------------------------------------------
>
>                 Key: CXF-2417
>                 URL: https://issues.apache.org/jira/browse/CXF-2417
>             Project: CXF
>          Issue Type: Bug
>          Components: Aegis Databinding
>    Affects Versions: 2.2.3
>            Reporter: Fried Hoeben
>         Attachments: cxf-aegis-BeanTypeInfo.patch
>
>
> I have a bean that implements a generic interface that defines a property that uses the generic type, in the bean the generic type is bound to String.
> When BeanTypeInfo determines the property descriptor of that property it (sometimes) does not detect that the type of the property is String, but instead it thinks it is object.
> This is because of the use of the Introspector class in BeanTypeInfo. This class has a bug (http://bugs.sun.com/view_bug.do?bug_id=6528714) that means that sometimes property descriptors are returned that use information of synthetic bridge methods instead of the actual methods defined in the beans code.
> The Spring framework has some code (GenericTypeAwarePropertyDescriptor) that works around this problem so their BeanUtils does return the correct property descriptors. Furthermore the comments in their implementation suggests that Introspector is also a source of memory leaks.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.