国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

基于OSGi搭建動態化的系統

2019-11-18 15:34:10
字體:
來源:轉載
供稿:網友
   搭建動態化的系統是作為java開發人員一直就非常追求的目標,一個系統能夠動態化就意味著:
★ 添加新功能時不需要重啟系統;
★ 修改已存在的功能時不需要重啟系統;
★ 刪除一些不需要的功能時不需要重啟系統;
★ 修改系統中的配置時可以不需要重啟系統即刻生效;
★ 系統的業務行為可動態的改變。
    也許習慣了傳統java開發方式的人而言,沒有這些動態化也沒什么,但不可否認,這些動態化的特征還是非常吸引人的,尤其是假如能很輕易就獲得這些好處,那么自然就不會錯過這些好處了,基于OSGi可以很輕易的讓我們獲取到這些好處,對于上面所描述的系統的動態化的特征可以歸納為這么三點:
★ 模塊的動態化:新增、修改、刪除以及擴展;
★ 配置的動態化;
★ 行為的動態化。
下面就來看看基于OSGi是怎么樣來構成這樣的動態化的系統的。
★ 模塊的動態化:新增、修改、刪除以及擴展;
     ◆ 新增
          對于模塊的新增,在OSGi可以通過在控制臺中使用install命令去安裝,或者調用BundleContext的installBundle方法去安裝新的模塊;
     ◆ 修改
          當修改了模塊后,只需在控制臺中使用update命令去更新模塊,或者通過調用BundleContext.getBundle(Bundle的id).update();
     ◆ 刪除
          當需要刪除不需要了的模塊時,只需在控制臺中使用uninstall命令去刪除,或者通過調用BundleContext.getBundle(Bundle的id).uninstall();
     ◆ 擴展
          對于模塊的擴展,可以使用OSGi所支持的調用多服務的方式或者使用Equinox提供的擴展點的方式來實現。
★ 配置的動態化
     對于配置的動態化方面,使用OSGi的Configuration Admin Service(簡稱CM)可以很輕易的實現,使用CM使得系統中的配置可以采用統一的形式去治理、動態的通知變化以及使用。
★ 行為的動態化
     系統在運行中要根據業務的需求選擇相應的服務是經常會碰到的需求,例如一份文件在某種情況下可能需要進行存儲,而在另一種情況下可能是需要進行提取信息并存儲為其他文件,由于OSGi支持服務選擇時的過濾(如context.getAllServiceReferences(服務接口完整類名,"(key=db)")),使得系統可以在運行時根據需求來選擇或配置使用相應的服務,而OSGi同時又支持了服務的動態化的治理,當服務可用時會自動的通知,當其不可用時同樣會自動的通知,這就保證了開發人員在使用服務時可做出相應的處理。
假如覺得你所設計的系統需要這些動態化的特征的話,那么建議使用下OSGi(推薦的OSGi框架:Equinox)試試,或者可以參考下OSGi的實現方法自己去實現所需要的動態化的特征。進入討論組討論。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陇西县| 库伦旗| 望城县| 葵青区| 文水县| 兴和县| 博罗县| 饶阳县| 丰镇市| 宜阳县| 资兴市| 泾阳县| 绍兴县| 杭锦旗| 泽州县| 阳原县| 利津县| 敦煌市| 山阳县| 丹凤县| 浏阳市| 会昌县| 柳河县| 黄山市| 凉城县| 江油市| 岱山县| 大渡口区| 化州市| 柳江县| 苏州市| 山阳县| 岳普湖县| 休宁县| 嘉定区| 宁都县| 北安市| 高台县| 星子县| 天祝| 兴化市|