真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

OSGi4.2的新特性有什么

本篇文章為大家展示了OSGi 4.2的新特性有什么,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出蔡甸免費(fèi)做網(wǎng)站回饋大家。

一些 OSGi 實(shí)現(xiàn),例如 Equinox 3.5 與 Felix 2.0 早已針對 OSGi 4.2 規(guī)范做了一些兼容實(shí)現(xiàn),但當(dāng)時(shí) OSGi 4.2 還沒有發(fā)布,當(dāng)然也不能說其實(shí)現(xiàn)了 OSGi 4.2 規(guī)范?,F(xiàn)在規(guī)范正式發(fā)布了,各實(shí)現(xiàn)團(tuán)隊(duì)還需要進(jìn)行一些調(diào)整已完全滿足規(guī)范要求。

新的規(guī)范里有哪些特性呢?

框架啟動( Framework launching)

以前雖然可以在 Java 應(yīng)用中(例如 Equinox 的 servlet 橋接 )啟動嵌入的 OSGi 引擎,但針對特定引擎都有特定的啟動方式。雖然有一些包裝器(例如 Pax Runner )使得引擎啟動相對容易,但還是必須熟悉特定引擎的知識。在現(xiàn)在的規(guī)范中,定義了透明的啟動機(jī)制使得不需要知道 OSGi 實(shí)現(xiàn)引擎就可以將其啟動。這樣一來,不管是在 Equinox 還是 Felix 下測試都只用替換啟動類路徑下的相應(yīng)引擎 Jar 包就可以了。

遠(yuǎn)程服務(wù)(Remote Service)

以前也許你曾經(jīng)聽說過分布式 OSGi(Distributed OSGi)以及 RFC 113,而 OSGi 4.2 中的遠(yuǎn)程服務(wù)就是類似技術(shù)的新名字,它將各個(gè) OSGi 虛擬機(jī)(OSGi VMs)連接到了一起。遠(yuǎn)程服務(wù)采用了服務(wù) 的概念(熱拔插 OSGi 應(yīng)用的精髓),提供了導(dǎo)出服務(wù)到遠(yuǎn)程消費(fèi)端與在本地消費(fèi)遠(yuǎn)程服務(wù)的機(jī)制。與其他分布式方法(例如 RMI)不同的是,遠(yuǎn)程服務(wù)不需要實(shí)現(xiàn)特殊接口,也不用拋出 checked exception 。當(dāng)然,發(fā)生異常的時(shí)候遠(yuǎn)程服務(wù)不會裝作工作正常,可以把異??醋魇且环N在任何情況下都因該進(jìn)入并作用于 OSGi 環(huán)境的服務(wù)。

籌備服務(wù)(Blueprint Service)

OSGi 4.2 中的籌備服務(wù)的概念非常類似于控制反轉(zhuǎn) / 依賴注射。它允許客戶端從外部配置文件指定連接的服務(wù),此服務(wù)將被動態(tài)地連接到客戶端。向聲明式服務(wù)一樣,你可以對服務(wù)類型上做些限制,例如是否為強(qiáng)制(mandatory);但與聲明式服務(wù)也有些不同,當(dāng)所需服務(wù)缺失時(shí)籌備服務(wù)可以提供一個(gè)默認(rèn)的服務(wù)代理實(shí)現(xiàn),當(dāng)客戶代碼嘗試調(diào)用此服務(wù)時(shí),客戶端將被服務(wù)代理阻塞,直到真正的服務(wù)連接成功。綜上,使用籌備服務(wù)的特性可以避免與 OSGi 產(chǎn)生耦合,這使得應(yīng)用既可以在 OSGi 環(huán)境內(nèi)運(yùn)行,也可以脫離 OSGi 環(huán)境運(yùn)行。

Bundle 追蹤器(Bundle Tracker)

OSGi 早已有了服務(wù)追蹤器,用于監(jiān)控服務(wù)的來龍去脈;而 Bundle 追蹤器是追蹤 bundles 的一個(gè)擴(kuò)展。在以前在服務(wù)中就可以使用 BundleListener 來監(jiān)聽 bundle 動態(tài)進(jìn)出,而如今的 BundleTracker 與 ServiceListener 有著同等的可用性。其可被用于執(zhí)行動態(tài)注冊當(dāng)籌備服務(wù)或是聲明式服務(wù)正在讀?。ㄅc處理)元數(shù)據(jù)。例如,一個(gè)基于 Web 的引擎就可以自動地掃描出新安裝的 bundles,并通過 HttpService 自動注冊 servlets。

服務(wù)鉤子(Service Hooks)

在判斷存在什么服務(wù)時(shí),是可以對服務(wù)之間的事件進(jìn)行攔截、過濾的。例如在實(shí)現(xiàn)一個(gè)基于角色的權(quán)限模型或是針對不同產(chǎn)品級禁用 / 可用對應(yīng)功能集。另一個(gè)方法是提供代理服務(wù)(或是負(fù)載均衡)從而攔截其他 bundle 的事件將其隱藏,以備在后續(xù)階段代理給其他機(jī)制(例如分布式服務(wù))。另外,監(jiān)聽鉤子也可以在服務(wù)沒有被注冊前按需將服務(wù)啟動。

條件化的權(quán)限(Conditional permissions)

OSGi 4.2 在有關(guān)權(quán)限方面的升級包含了拒絕訪問(DENY access)與允許訪問。在認(rèn)證簽名后,可以為 bundles 子集顯示地指定操作權(quán)限??梢枣i定未簽名的 bundles 的安裝,有助于構(gòu)建一個(gè)安全的 OSGi 平臺。

OSGi 4.2 規(guī)范相對于 4.1 版還有很多變化,例如 OSGi bundles 有自己的 MIME 類型 (application/vnd.osgi.bundle ),可以為某個(gè) bundle 指定圖標(biāo)以及許可證,對于聲明式服務(wù)可以簡化其權(quán)限集合設(shè)置(使用包內(nèi)友好替代了 protected)。DS schema 也允許其他對特定服務(wù)信息有助的 XML 元素。另外,提供了一個(gè)機(jī)制使得應(yīng)用管理員可以在應(yīng)用結(jié)束是獲取該應(yīng)用的返回值。

Equinox 3.5 已經(jīng)提供了一些類似的功能,Apache Felix 對類似功能在這個(gè)月初也通過了測試(早于 4.2 規(guī)范發(fā)布)。

上述內(nèi)容就是OSGi 4.2的新特性有什么,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


分享題目:OSGi4.2的新特性有什么
URL網(wǎng)址:http://weahome.cn/article/ijsdcs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部