osgi學習之---擴展點理解

1.某個bundle定義自己的擴展點,只是爲了別的bundle使用此bundle的服務時,能把自己的個性化數據加入提供服務的bundle。比如:我們使用hibernate這個bundle的服務時,必須告訴此bundle我們自己的pojo對應的配置文件,即hbm文件。達到如下效果:
<mapping resource=”cn/org/osgi/bulletin/po/Bulletin.hbm.xml”/>

2.定義自己的擴展點的bundle通過實現監聽接口IRegistryChangeListener來監聽新的擴展點的實現,通過這個監聽來動態的把擴展點實現者的內容加入自己的bundle內部,可以通過IExtensionRegistry服務來獲取所有的擴展點實現。在hibernate所在的bundle中,必定有一個監聽器實現了IRegistryChangeListener,當有新的擴展點加入的時候,動態的把mapping映射加入hibernate中

3.擴展點中xsd文件,僅僅是用於規範擴展點實現者在使用擴展點時採用xml的方式來配置。比如:
<extension point="HibernateModule.HibernateExtension">
<po class="cn.org.osgi.bulletin.po.Bulletin"/>
</extension>
xsd描述文件定義了有一個節點,名字爲po,有一個屬性爲class

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章