OSGI框架為Java定義了一個動態模塊化系統,它使你可以更好地控制代碼結構,動態管理代碼的生命周期,並且提供了代碼寫作的松耦合方式;更值得稱道的是,它的規範文檔描述詳盡。--《OSGI實戰》OSGI分層架構服務層關註於模塊,特別是模塊內的組件間的交互和通信。生命周期層關註於提供執行時模塊管理和對底...
OSGI框架為Java定義了一個動態模塊化系統,它使你可以更好地控制代碼結構,動態管理代碼的生命周期,並且提供了代碼寫作的松耦合方式;更值得稱道的是,它的規範文檔描述詳盡。--《OSGI實戰》
OSGI分層架構
服務層 |
關註於模塊,特別是模塊內的組件間的交互和通信。 |
生命周期層 |
關註於提供執行時模塊管理和對底層OSGI框架的訪問。 |
模塊層 |
關註於打包和共用代碼 |
bundle:OSGI對其模塊化概念具體實現的定義,以jar文件形式包含代碼、資源、元數據。
bundle和普通jar的主要區別在於元數據,OSGI使用元數據來管理它的模塊化特征,這些元數據保存在jar文件的META-INF/MANIFEST.MF中。
生命周期API
BundleActivator(start、stop):是bundle入口,類似java中main方法。
BundleContext:為應用提供執行時操作OSGI框架的方法。
Bundle:代表已安裝到框架的bundle,允許對其執行狀態操作。
Maven插件:maven-bundle-plugin