我使用glassfish 4 OSGi控制台来管理捆绑包。所以,如果我想从另一个包中获取一个包,我使用@Inject和@OSGIService注释。 当我在上下文中注册服务时,我将属性包含在其中:
context.registerService(
ServiceClass.class.getName(), new ServiceClass(), props);
当我注入它时,我能以某种方式获得这些属性吗?
我可以使用CDI获取捆绑上下文吗?
如果bundle之间有一些不同的接口实现,我想通过代码中的属性来获取它们,我该如何实现呢?
答案 0 :(得分:0)
尝试@Inject BundleContext上下文;注入BundleContext。 @Inject @OSGIService @Filter(" myprop = a")MyService服务;注入具有某些属性的服务。
这是来自焊接文档,但大多数它也适用于glassfish。
有关详细信息,请参阅此处:
http://de.slideshare.net/TrevorReznik/weldosgi-injecting-easiness-in-osgi