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?



-- 
Александр Свиридов
_______________________________________________
weld-dev mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/weld-dev

Reply via email to