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