OSGi片段bundle是否可以发布声明性服务



我创建了一个片段捆绑包,用于访问第二方jar的一些添加功能。我的片段应该注册一个服务来公开这个新功能。它似乎不起作用。在深入进行故障排除之前,我想知道这是否允许?也就是说,Felix SCR的捆绑包观察程序是查看片段还是忽略片段?

Aha,我自己在规范第112.4.2节中找到了答案:"SCR忽略片段中指定的服务组件清单标头。"这与3.14.3一致:"以下列表包含片段捆绑中不得使用的标头:bundle Activator"

是。但是主机捆绑包必须对此开放。所谓打开,我的意思是主机捆绑包必须配置Service-Components头,以便在片段中找到任何描述符。例如:

Service-Components: OSGI-INF/*.xml 

将在主机捆绑包的CCD_ 3文件夹中找到所有CCD_。

我看到Eclipse SmartHome项目使用这个解决方案使他们的UI更加可定制。

更多信息:http://apache-felix.18485.x6.nabble.com/DS-amp-fragments-td5004610.html

最新更新