-
Bug
-
Resolution: Done
-
Major
-
1.1.0.Alpha2
-
None
-
None
Suppose we have extension that registers two custom beans (while observing AfterBeanDiscovery event). Custom bean A is alternative. Custom bean B is not alternative and has injection point with type A. This scenario causes deployment error: "WELD-001408 Unsatisfied dependencies...".
It seems that ProcessBean event is not fired after calling javax.enterprise.inject.spi.AfterBeanDiscovery.addBean(Bean<?>) because org.jboss.weld.manager.BeanManagerImpl.isBeanEnabled(Bean<?>) resolves to false at the given moment.
Nevertheless it is available for injection in "regular" beans after deployment validation (suppose custom bean B is not included).
Note that if custom bean A#isAlternative() returns false, test passes.
See TCK test:
https://github.com/jboss/cdi-tck/tree/master/impl/src/main/java/org/jboss/cdi/tck/tests/definition/bean/custom
- is blocked by
-
CDI-233 Specify target bean archive for bean added via AfterBeanDiscovery.addBean()
- Closed