[weld-issues] [JBoss JIRA] (WELD-1131) Weld Proxies (for instance created by Producer-Method) loose Annotations put ontop of Methods of source class

Marko Lukša (JIRA) jira-events at lists.jboss.org
Wed May 9 18:30:17 EDT 2012


    [ https://issues.jboss.org/browse/WELD-1131?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12691622#comment-12691622 ] 

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

       



More information about the weld-issues mailing list