2012-07-13 60 views
5

我有一個片段包,用於訪問第二方jar的某些添加功能。我的片段應該註冊一個服務來公開這個新功能。它似乎沒有工作。在深入解決問題之前,我想知道這是否允許?也就是說,Felix SCR的捆綁式觀察器是否會查看或忽略碎片?OSGi片段包是否可以發佈聲明式服務?

回答

8

啊哈,我在規範第112.4.2節中自己找到了答案:「片段中指定的服務組件清單頭被SCR忽略。」這符合3.14.3:「以下列表包含不得在片段包中使用的標題:Bundle-Activator」

+1

又見http://stackoverflow.com/questions/8592860/component-inside-a-fragment-never-activated,這證實了你剛纔說的,但有一個額外的信息藍圖確實可以用於碎片。 – 2012-07-14 01:06:42

2

是的。但主機捆綁必須是開放的。打開,我的意思是主機捆綁包必須配置Service-Components頭,以便可以找到片段中的任何描述符。例如:

Service-Components: OSGI-INF/*.xml 

會發現在主機捆綁所有連接的片段的OSGi-INF/夾中的所有文件.xml

我看到Eclipse SmartHome項目使用此解決方案使他們的UI更加可定製。

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

相關問題