[cdi-dev] [JBoss JIRA] (CDI-456) fix Bean#getBeanClass() definition

Jozef Hartinger (JIRA) issues at jboss.org
Thu Sep 4 09:40:00 EDT 2014


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

Jozef Hartinger edited comment on CDI-456 at 9/4/14 9:39 AM:
-------------------------------------------------------------

{quote}You think it is here for modules?{quote}
Not only for modules but yes. It's referenced quite a lot in Section 5.1. Modularity

{quote}Well in a war no big deal{quote}
How?

{quote} in an ear the container does it since it deploys it{quote}
How? You have an extension that registered a custom bean. What information do you use to infer where the bean belongs? The same module as the extension's? Some type from Bean.getTypes()? Or something else?





was (Author: jharting):
{quote}You think it is here for modules?{quote}
Not only for modules but yes. It referenced quite a lot in Section 5.1. Modularity

{quote}Well in a war no big deal{quote}
How?

{quote} in an ear the container does it since it deploys it{quote}
How? You have an extension that registered a custom bean. What information do you use to infer where the bean belongs? The same module as the extension's? Some type from Bean.getTypes()? Or something else?




> fix Bean#getBeanClass() definition
> ----------------------------------
>
>                 Key: CDI-456
>                 URL: https://issues.jboss.org/browse/CDI-456
>             Project: CDI Specification Issues
>          Issue Type: Bug
>          Components: Beans
>            Reporter: Mark Struberg
>
> currently Bean#getBeanClass() is defined to return the class of the bean it produces but has one important exception: in case of a producer method or field it must return the class of the owner bean of this method or field.
> Imo this only causes troubles and doesn't add any benefit. 
> * At the time when 'using' the Bean (create and destroy) we always ONLY need the type which is to be created.
> * At the time we create interceptors we ONLY need the type which is to be created;
> * At the time we create the normalscoping proxies we ONLY need the type which is to be created;
> In fact the only time we need the ownerBean is when scanning the methods and fields in it. And for creating we really need the owner-Bean and not it's bean-class!
> In OWB we worked around this by having our own method getReturnType() which consistently returns the type which gets created.



--
This message was sent by Atlassian JIRA
(v6.3.1#6329)


More information about the cdi-dev mailing list