本篇內(nèi)容主要講解“OSGi應(yīng)用中怎么啟動(dòng)bundle”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“OSGi應(yīng)用中怎么啟動(dòng)bundle”吧!
因?yàn)榕驼嬲\(chéng),有更多的客戶和我們聚集在一起,為了共同目標(biāo),創(chuàng)新互聯(lián)公司在工作上密切配合,從創(chuàng)業(yè)型企業(yè)到如今不斷成長(zhǎng),要感謝客戶對(duì)我們的高要求,讓我們敢于面對(duì)挑戰(zhàn),才有今天的進(jìn)步與發(fā)展。從網(wǎng)站到小程序制作,軟件開(kāi)發(fā),app開(kāi)發(fā)定制,十年企業(yè)網(wǎng)站建設(shè)服務(wù)經(jīng)驗(yàn),為企業(yè)提供網(wǎng)站設(shè)計(jì),網(wǎng)站運(yùn)營(yíng)一條龍服務(wù).為企業(yè)提供營(yíng)銷型網(wǎng)站,按需搭建網(wǎng)站,原創(chuàng)設(shè)計(jì),十年品質(zhì),值得您的信賴.
OSGi即Java模塊系統(tǒng),而OSGi bundle則是OSGi中軟件發(fā)布的形式。本文講述OSGi應(yīng)用中如何自動(dòng)啟動(dòng)bundle。作者最近開(kāi)發(fā)了一個(gè) OSGi 的應(yīng)用,部署之后發(fā)現(xiàn),當(dāng)應(yīng)用啟動(dòng)的時(shí)候,幾乎所有 bundle 都處于 Resolved 狀態(tài),而不是 Started 狀態(tài)。
51CTO編輯推薦:OSGi入門(mén)與實(shí)踐全攻略
怎樣啟動(dòng)bundle 呢?有如下幾種方法 :
1. 手工啟動(dòng)bundle,即在 console 中使用命令 start N 來(lái)逐個(gè)啟動(dòng)所有bundle,其中 N 表示每個(gè) bundle 的 id
這種方法過(guò)于麻煩,要耗費(fèi)大量時(shí)間,因此不可取。
2.在配置文件中聲明為自動(dòng)啟動(dòng)bundle。在 WEB-INF\eclipse\configuration 中的 config.ini 中,如下配置:
osgi.bundles=bundle1@start, bundle2@start,......bundleN@start
這種方法可以自動(dòng)啟動(dòng)所有bundle,但是寫(xiě)起來(lái)仍然比較麻煩,需要把所有bundle 一個(gè)一個(gè)都配置為@start。
3. 在應(yīng)用的所有bundle 中選擇一個(gè)bundle,將其在 config.ini 中配置為自動(dòng)啟動(dòng),然后在這個(gè)bundle 中,再把
應(yīng)用的所有其他bundle 啟動(dòng)起來(lái)。假定該bundle 的Activator 類為 OSGiStartingBundleActivator, 代碼如下:
public class OSGiStartingBundleActivator implements BundleActivator { public static BundleContext bundleContext = null; public void start(BundleContext context) throws Exception { bundleContext = context; // start bundles if it has been installed and not started Bundle[] allBundles = context.getBundles(); for (int i=0; i到此,相信大家對(duì)“OSGi應(yīng)用中怎么啟動(dòng)bundle”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
網(wǎng)站題目:OSGi應(yīng)用中怎么啟動(dòng)bundle
標(biāo)題路徑:http://weahome.cn/article/jcecdo.html