2017-10-06 114 views
0

每個Karaf包是否由單獨的類加載器加載?Karaf:Bundles實例和類加載器

SAME classloader是否加載了所有功能的捆綁包?

如果我在試圖開發的新功能中包含依賴功能,該功能的捆綁包是否使用SAME類加載器作爲我正在嘗試開發的功能?

回答

2

在OSGi中,每個bundle都有自己的類加載器。這個類加載器爲bundle提供服務,並委託給bundle從此bundle導入包的類加載器。所以基本上每個類通常由類所在的bundle的類加載器加載.Smaifest和OSGi解析器中的Import-Package和Export-Package語句確保bundle也可以看到其他bundle的類。

卡拉夫特徵與類加載器完全無關。他們只是簡單地定義哪些包被加載。