[
https://issues.jboss.org/browse/WELD-1131?page=com.atlassian.jira.plugin....
]
Marko Lukša commented on WELD-1131:
-----------------------------------
P Huber, I've tried your demo with Weld 2.0.0.Alpha2 and it works, since weld 2.0 is
creating proxies differently than 1.0. So I suggest upgrading to 2.0. We're probably
not going to be fixing this in 1.x.
Aleš, please close this issue if you agree.
Weld Proxies (for instance created by Producer-Method) loose
Annotations put ontop of Methods of source class
-------------------------------------------------------------------------------------------------------------
Key: WELD-1131
URL:
https://issues.jboss.org/browse/WELD-1131
Project: Weld
Issue Type: Bug
Components: Reflection layer
Environment: glassfish 3.1.2
Reporter: P Huber
Assignee: Marko Lukša
Attachments: weld-forgets-annotation_WELD-1131.7z
I have project specific Annotations ontop of public Methods of a class.
class Customer {
@MyProjectSpecificAnnotation
public String getFirstName() {
return firstName;
}
}
When producing Objects of such an annotated class, like with
class Example {
@Produce
Customer producerField;
}
Then at the Injection Side the Annotations "MyProjectSpecificAnnotation" is no
longer available, because WELD injects a byte-code created proxy.
class InjectionSide {
@Inject
Customer injectField; // here we get the WELD-Proxy of unpronouncable name...and no
Annotations
}
I've used BeanIntrospector to reflect the injected Instance of class Customer. I get
a set of PropertyDescriptors with a write/read Method each.
But as allready said, none of them has the "MyProjectSpecificAnnotation".
Could be due to the fact, that when subclassing a class, the Annotations of the super
class are not available at sub class directly - But in Case of a "transparent"
WELD proxy I'd expect they should be there. Probably you have to simply copy
annotations during on-the-fly byte-code creation of the Proxy. The Problem is btw also
true for javas built in Dynamic Proxy: using it you also loose Annotations.
Hope you can fix that
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira