[
https://issues.jboss.org/browse/CDI-456?page=com.atlassian.jira.plugin.sy...
]
Romain Manni-Bucau commented on CDI-456:
----------------------------------------
more I think to it more I see an issue. If the goal is module visibility resolution then
we should add a Bean#isVisible(Module) - with Module providing at least the ClassLoader,
maybe a name from beans.xml like in ejb-jar.xml, the location?... Using beanClass and
classloader is not portable at all and even if EE containers can surely deal with it, in
SE and OSGi worlds it will be very fragile.
I think this can be an interesting topic to complete scanning config which was recently
introduced. This will be close to OSGi import/export control then.
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)