OSGi 系列(三)之 bundle 詳解 1. 什么是 bundle bundle 是以 jar 包形式存在的一個模塊化物理單元,里面包含了代碼,資源文件和元數據(metadata),並且 jar 包的物理邊界也同時是運行時邏輯模塊的封裝邊界。 2. MANIFEST.MF 規范 ...
OSGi模塊化框架是很早就出來的一個插件化框架,最早Eclipse用它而出名,但這些年也沒有大熱雖然OSGi已經發布了版本 到版本 。現在用的最多的,也是本文講述基於的是Equinox的OSGi實現,同時也是Eclipse核心,Spring Dynamic Module也是基於Equinox。OSGi框架為java系統提供了一個通用的容器,該系統中的 bundle,無需停止系統,即可實現 bund ...
2014-02-13 17:00 1 7030 推薦指數:
OSGi 系列(三)之 bundle 詳解 1. 什么是 bundle bundle 是以 jar 包形式存在的一個模塊化物理單元,里面包含了代碼,資源文件和元數據(metadata),並且 jar 包的物理邊界也同時是運行時邏輯模塊的封裝邊界。 2. MANIFEST.MF 規范 ...
Eclipse為開發OSGI Bundle提供了良好的支持,它不僅提供向導來創建OSGi Bundle,而且還提供了內嵌的OSGi框架實現(即Equinox容器),可以使用該容器執行和調試Bundle。從本質上說,每一個Eclipse插件都是一個OSGi Bundle,只不過這個OSGi ...
摘要 OSGi的一個標准就是各個bundle之間是相互隔離的,每個bundle都有自己的classloader,並且不同的版本之間都是相互隔離的,這樣就使bundle從物理上進行了隔離,那么OSGi 的bundle之間是怎么進行通信的呢? 下面我們將要介紹3中方法。 Bundles之間通信 ...
數據庫。這是我們一定會遇到一個需求,即動態的加載我們自己的文件,而且想維護這個文件存儲和加載的位置,並且是 ...
用的是OSGI框架,用到的第三方JAR包需要加載META-INF/XX/XX.xml這個內容,但在運行的時候 ...
在OSGi環境中,在Bundle內部代碼中要得到自己Bundle的ClassLoader就很簡單,在自己Bundle的代碼中,直接寫this.getClass().getClassLoader()就得到了自己Bundle的ClassLoader了。但怎么在其他Bundle或外部代碼中得到任意一個 ...
很多時候為了封裝,需要把一個View單獨的做成一個組件,比如做成靜態庫。如果這個view是自定義的,並且使用了xib,那么在主工程中怎么使用呢?在靜態庫中,添加bundle,編譯的時候並不會把xib編程nib,所以在主工程中加載xib就會報錯。 我們工程靜態庫中自定義了一個 ...
最近在學習osgi,在練習HttpService的過程中,一直出現“A null service reference is not allowed”這樣的報錯,代碼本身沒有問題,在網上也搜了不少地方,在《深入理解OSGi》、《osgi原理與最佳實踐》這兩本書中也沒有找到具體的解決方法。萬般無奈 ...