成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

OSGi應(yīng)用中自動(dòng)啟動(dòng)bundle

開發(fā) 后端
本文講述OSGi應(yīng)用中如何自動(dòng)啟動(dòng)bundle。作者發(fā)現(xiàn)應(yīng)用啟動(dòng)的時(shí)候,幾乎所有 bundle 都處于 Resolved 狀態(tài),而不是 Started 狀態(tài)。本文逐步介紹了如何將所有bundle啟動(dòng)的方法。

OSGi即Java模塊系統(tǒng),而OSGi bundle則是OSGi中軟件發(fā)布的形式。本文講述OSGi應(yīng)用中如何自動(dòng)啟動(dòng)bundle。作者最近開發(fā)了一個(gè) OSGi 的應(yīng)用,部署之后發(fā)現(xiàn),當(dāng)應(yīng)用啟動(dòng)的時(shí)候,幾乎所有 bundle 都處于 Resolved 狀態(tài),而不是 Started 狀態(tài)。

51CTO編輯推薦:OSGi入門與實(shí)踐全攻略

怎樣啟動(dòng)bundle 呢?有如下幾種方法 :

1. 手工啟動(dòng)bundle,即在 console 中使用命令 start N 來逐個(gè)啟動(dòng)所有bundle,其中 N 表示每個(gè) bundle 的 id

這種方法過于麻煩,要耗費(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,但是寫起來仍然比較麻煩,需要把所有bundle 一個(gè)一個(gè)都配置為@start。

3. 在應(yīng)用的所有bundle 中選擇一個(gè)bundle,將其在 config.ini 中配置為自動(dòng)啟動(dòng),然后在這個(gè)bundle 中,再把

應(yīng)用的所有其他bundle 啟動(dòng)起來。假定該bundle 的Activator 類為 OSGiStartingBundleActivator, 代碼如下:

  1. public class OSGiStartingBundleActivator implements BundleActivator  
  2. {  
  3.     public static BundleContext bundleContext = null;  
  4.       
  5.     public void start(BundleContext context) throws Exception  
  6.     {  
  7.         bundleContext = context;  
  8.          
  9.         // start bundles if it has been installed and not started  
  10.         Bundle[] allBundles = context.getBundles();  
  11.         for (int i=0; i<allBundles.length; i++)  
  12.         {  
  13.             int currState = allBundles[i].getState();  
  14.             if ( Bundle.ACTIVE != currState && Bundle.RESOLVED==currState  )  
  15.             {  
  16.                     System.out.println("starting bundle : " + allBundles[i].getSymbolicName());  
  17.  
  18.                     try 
  19.                     {  
  20.                             allBundles[i].start();  
  21.                     }  
  22.                     catch (BundleException e)  
  23.                     {  
  24.                             e.printStackTrace();  
  25.                     }  
  26.               }  
  27.           }  
  28.     }  
  29.  
  30.     public void stop(BundleContext context) throws Exception  
  31.     {  
  32.     }  
  33.  }  
  34.  

【編輯推薦】

  1. OSGi入門與實(shí)踐全攻略
  2. 你好,OSGi!OSGi入門必讀系列
  3. OSGi與Spring:設(shè)置Spring DM開發(fā)環(huán)境
  4. OSGi和Spring入門:什么是Spring動(dòng)態(tài)模型(Spring DM)?
  5. OSGi是什么:Java語言的動(dòng)態(tài)模塊系統(tǒng)
責(zé)任編輯:yangsai 來源: 博客園
相關(guān)推薦

2009-09-16 17:15:19

OSGi Bundle

2009-09-17 11:19:34

OSGi依賴性管理

2009-06-16 13:49:53

ServiceMix4OSGi

2012-06-25 11:47:14

ibmdw

2017-09-21 10:43:55

web程序語言

2009-03-03 10:06:00

IBMJavaOSGi

2009-09-28 13:32:39

OSGi入門

2009-12-21 13:34:41

OSGi

2018-05-25 15:26:28

Windows 10Windows自動(dòng)啟動(dòng)

2024-06-24 08:24:57

2009-10-15 15:12:39

Equinox服務(wù)器端Equinox

2009-06-10 18:12:38

Equinox動(dòng)態(tài)化OSGi動(dòng)態(tài)化

2009-06-01 11:12:34

OSGi規(guī)范架構(gòu)體系結(jié)構(gòu)

2010-04-07 08:55:00

OSGiSpring

2009-10-22 11:03:20

OSGi Web應(yīng)用程

2009-06-18 15:24:08

Spring OSGi

2009-10-19 14:14:19

OSGi Web應(yīng)用

2009-06-01 11:37:46

EquinoxOSGi服務(wù)器

2009-06-18 10:03:57

EquinoxOSGi應(yīng)用服務(wù)器

2009-06-01 11:20:21

OSGi服務(wù)規(guī)范非贏利機(jī)構(gòu)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 伊人精品久久久久77777 | 国产精品色哟哟网站 | 一区二区三区在线免费观看 | 老司机久久| 日韩精品一区二区三区中文字幕 | 久草资源网站 | 欧美一二区 | 一区二区三区四区国产 | 免费亚洲一区二区 | 99精品国产一区二区三区 | 一级视频黄色 | 国产精品美女久久久久aⅴ国产馆 | 国产蜜臀97一区二区三区 | 黄色一级视频 | 99久久精品国产一区二区三区 | 久久在看| 国产精品视频在线播放 | 久久精品无码一区二区三区 | 夜夜艹天天干 | 精品久久久久久久久久久久 | 欧美老少妇一级特黄一片 | 欧美一级毛片久久99精品蜜桃 | 亚洲视频 欧美视频 | 国产激情在线 | 久久免费视频1 | 91精品国产一区二区三区 | 亚洲午夜精品一区二区三区他趣 | 国产999精品久久久 精品三级在线观看 | 81精品国产乱码久久久久久 | 国产乱码精品一区二区三区中文 | 亚洲成人精品国产 | 午夜免费视频 | 国产高清视频 | 欧美国产日韩在线观看成人 | 91久久网站 | 日日骚av| 欧美视频一区二区三区 | 国产香蕉视频在线播放 | 国产精品久久久久久久久 | www.日本三级| 中文字幕免费视频 |