[weld-dev] BUG - CDI inside budnle doesn't see bean

Александр Свиридов ooo_saturn7 at mail.ru
Fri Apr 4 03:01:17 EDT 2014


 I have two OSGI bundles:
The first contains: service, servlet, pojo
The second contains: consumer (of the service).
FACTS:
A) I inject service (bundle 1) to consumer (bundle 2) via CDI (@OSGiService) - everything is OK. 
B) I inject pojo to servlet via CDI (manually using beanManager.getBeans,beanManager.resolve) - everything is OK.
C) I inject pojo to service via CDI (manually using beanManager.getBeans,beanManager.resolve) - Error - can't locate the bean.
The reason why I use manual injection is that that I couldn't get it to work with @Inject and started googling. And I found  this
>CDI allows injection into non-component classes, but the instances must still be created by CDI. Your activator is instantiated by OSGi framework and CDI has no way to hook into that process. You can programmatically get hold of the CDI injection manager and request an instance from it instead of using @Inject in your main class.
I think that (C) must work, because instance is created via CDI but it doesn't. Is this a bug? How can it be fixed?



-- 
Александр Свиридов
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/weld-dev/attachments/20140404/d8543a53/attachment-0001.html 


More information about the weld-dev mailing list