本發(fā)明專利技術提供了一種插件擴展裝置,包括:接口創(chuàng)建單元,用于在基于OSGi的應用開發(fā)平臺中,創(chuàng)建至少一個靜態(tài)擴展服務接口;擴展點定義單元,用于定義擴展點;擴展控制單元,用于調(diào)用所述靜態(tài)擴展服務接口,并基于所述擴展點實現(xiàn)插件的擴展。本發(fā)明專利技術還提供了一種插件擴展方法。通過本發(fā)明專利技術的技術方案,可以在不重啟系統(tǒng)的狀態(tài)下,實現(xiàn)對插件的動態(tài)擴展;并且由于不需要使用引導文件,使得擴展過程更加穩(wěn)定。
【技術實現(xiàn)步驟摘要】
本專利技術涉及應用開發(fā)
,具體而言,涉及一種插件擴展裝置和一種插件擴 展方法。
技術介紹
OSGi (Open Service Gateway Initiative)技術是由 OSGi Alliance 組織制定的一個基于Java語言的服務規(guī)范-OSGi服務平臺(Service Platform)。在基于OSGi的應用開發(fā)中,對于插件的擴展技術方面,最知名的是eclipse的擴展機制。Eclipse是著名的跨平臺的自由集成開發(fā)環(huán)境(IDE)。最初主要用來Java語言開 發(fā),目前亦有人通過插件使其作為C++、Python、PHP等其他語言的開發(fā)工具。Eclipse的本 身只是一個框架平臺,但是眾多插件的支持,使得Eclipse擁有較佳的靈活性。許多軟件開 發(fā)商以Eclipse為框架開發(fā)自己的IDE。在進行插件擴展時,只需要根據(jù)eclipse的擴展定 義實現(xiàn)一個擴展,然后添加一個引導文件,當eclipse啟動的時候就會把擴展加載進來,就 能夠?qū)崿F(xiàn)自定義eclipse的插件開發(fā)。但eclipse的擴展機制仍存在一些問題每次進行擴展時,都需要對系統(tǒng)進行重 啟后才能夠?qū)崿F(xiàn);同時,eslipse的擴展機制并不是總那么靠譜,比如在加載配置文件的過 程中,有時會出現(xiàn)無法加載的情況。因此,需要一種新的插件擴展技術,可以在不重啟系統(tǒng)的狀態(tài)下,實現(xiàn)對插件的動 態(tài)擴展;并且由于不需要使用引導文件,使得擴展過程更加穩(wěn)定。
技術實現(xiàn)思路
本專利技術正是基于上述問題,提出了一種新的插件擴展技術,可以在不重啟系統(tǒng)的 狀態(tài)下,實現(xiàn)對插件的動態(tài)擴展;并且由于不需要使用引導文件,使得擴展過程更加穩(wěn)定。有鑒于此,本專利技術提出了 一種插件擴展裝置,包括接口創(chuàng)建單元,用于在基于 OSGi的應用開發(fā)平臺中,創(chuàng)建至少一個靜態(tài)擴展服務接口 ;擴展點定義單元,用于定義擴 展點;擴展控制單元,用于調(diào)用所述靜態(tài)擴展服務接口,并基于所述擴展點實現(xiàn)插件的擴 展。在該技術方案中,通過創(chuàng)建靜態(tài)擴展服務接口,從而實現(xiàn)對插件的擴展,充分利用 OSGi的插件隔離思想優(yōu)勢,在不需要對系統(tǒng)重啟的前提下實現(xiàn)對插件的動態(tài)擴展。同時,由 于不需要使用引導文件,因而擴展的實現(xiàn)過程更為穩(wěn)定。在上述技術方案中,優(yōu)選地,所述擴展點定義單元定義所述擴展點的步驟包括定 義所述擴展點的命名空間和名字,以及定義對所述插件的擴展方法。在該技術方案中,根據(jù)用戶需要擴展的插件,定義對應的擴展方法來進行處理。具 體地,可以為不同的插件預定義對應的處理方法,從而在定義擴展點時,選用需要的處理方法。在上述技術方案中,優(yōu)選地,所述擴展控制單元包括擴展定義子單元,用于為所述插件的擴展定義與所述擴展點相同的命名空間和名字,并指定擴展所述插件時所需的資 源;以及資源加載子單元,用于按照定義的擴展方法,加載擴展所述插件時所需的資源。在該技術方案中,通過采用相同的命名空間和名字,在擴展點與擴展之間實現(xiàn)關 聯(lián);并按照定義擴展點時定義的擴展方法,實現(xiàn)對插件的擴展。在上述技術方案中,優(yōu)選地,所述擴展控制單元還用于在需要移除所述插件時, 停止對所述靜態(tài)擴展服務接口的調(diào)用,并刪除擴展的插件及相應的擴展點。在該技術方案中,在實現(xiàn)對插件的動態(tài)擴展之后,若希望移除該插件,則由于擴展 過程是通過調(diào)用上述技術方案中的靜態(tài)擴展服務接口實現(xiàn)的,因而可以直接停止調(diào)用該接 口,并通過刪除對應的擴展和擴展點,從而實現(xiàn)對該插件的動態(tài)刪除,同樣不需要對系統(tǒng)進 行重啟,最終實現(xiàn)對插件的熱插拔。在上述技術方案中,優(yōu)選地,所述擴展點定義單元還用于在定義所述擴展點時, 定義對所述插件的刪除方法,以由所述擴展控制單元用于刪除所述插件及相應的擴展點。在該技術方案中,根據(jù)不同類型的插件,在擴展之前,定義對應的刪除方法。具體 地,可以根據(jù)插件的不同類型,預定義對應的刪除方法,從而在實際使用時,根據(jù)需要選用 相應的方法。根據(jù)本專利技術的又一方面,還提出了一種插件擴展方法,包括步驟202,在基于 OSGi的應用開發(fā)平臺中,創(chuàng)建至少一個靜態(tài)擴展服務接口 ;步驟204,定義擴展點;步驟 206,調(diào)用所述靜態(tài)擴展服務接口,并基于所述擴展點實現(xiàn)插件的擴展。在該技術方案中,通過創(chuàng)建靜態(tài)擴展服務接口,從而實現(xiàn)對插件的擴展,充分利用 OSGi的插件隔離思想優(yōu)勢,在不需要對系統(tǒng)重啟的前提下實現(xiàn)對插件的動態(tài)擴展。同時,由 于不需要使用引導文件,因而擴展的實現(xiàn)過程更為穩(wěn)定。在上述技術方案中,優(yōu)選地,定義所述擴展點的步驟包括定義所述擴展點的命名 空間和名字,以及定義對所述插件的擴展方法。在該技術方案中,根據(jù)用戶需要擴展的插件,定義對應的擴展方法來進行處理。具 體地,可以為不同的插件預定義對應的處理方法,從而在定義擴展點時,選用需要的處理方法。在上述技術方案中,優(yōu)選地,所述實現(xiàn)所述插件的擴展的步驟包括為所述插件的 擴展定義與所述擴展點相同的命名空間和名字,并指定擴展所述插件時所需的資源;以及 按照定義的擴展方法,加載擴展所述插件時所需的資源。在該技術方案中,通過采用相同的命名空間和名字,在擴展點與擴展之間實現(xiàn)關 聯(lián);并按照定義擴展點時定義的擴展方法,實現(xiàn)對插件的擴展。在上述技術方案中,優(yōu)選地,還包括在需要移除所述插件時,停止對所述靜態(tài)擴 展服務接口的調(diào)用,并刪除擴展的插件及相應的擴展點。在該技術方案中,在實現(xiàn)對插件的動態(tài)擴展之后,若希望移除該插件,則由于擴展 過程是通過調(diào)用上述技術方案中的靜態(tài)擴展服務接口實現(xiàn)的,因而可以直接停止調(diào)用該接 口,并通過刪除對應的擴展和擴展點,從而實現(xiàn)對該插件的動態(tài)刪除,同樣不需要對系統(tǒng)進 行重啟,最終實現(xiàn)對插件的熱插拔。在上述技術方案中,優(yōu)選地,還包括在定義所述擴展點時,定義對所述插件的刪 除方法,以用于刪除所述插件及相應的擴展點。在該技術方案中,根據(jù)不同類型的插件,在擴展之前,定義對應的刪除方法。具體 地,可以根據(jù)插件的不同類型,預定義對應的刪除方法,從而在實際使用時,根據(jù)需要選用 相應的方法。通過以上技術方案,可以在不重啟系統(tǒng)的狀態(tài)下,實現(xiàn)對插件的動態(tài)擴展;并且由 于不需要使用引導文件,使得擴展過程更加穩(wěn)定。附圖說明圖1示出了根據(jù)本專利技術的實施例的插件擴展裝置的框圖2示出了根據(jù)本專利技術的實施例的插件擴展方法的流程圖3示出了根據(jù)本專利技術的實施例的擴展插件的流程示意圖。具體實施方式為了能夠更清楚地理解本專利技術的上述目的、特征和優(yōu)點,下面結合附圖和具體實 施方式對本專利技術進行進一步的詳細描述。需要說明的是,在不沖突的情況下,本申請的實施 例及實施例中的特征可以相互組合。在下面的描述中闡述了很多具體細節(jié)以便于充分理解本專利技術,但是,本專利技術還可 以采用其他不同于在此描述的其他方式來實施,因此,本專利技術的保護范圍并不受下面公開 的具體實施例的限制。圖1示出了根據(jù)本專利技術的實施例的插件擴展裝置的框圖。如圖1所示,根據(jù)本專利技術的實施例的插件擴展裝置100,包括接口創(chuàng)建單元102, 用于在基于OSGi的應用開發(fā)平臺中,創(chuàng)建至少一個靜態(tài)擴展服務接口 ;擴展點定義單元 104,用于定義擴展點;擴展控制單元106,用于調(diào)用所述靜態(tài)擴展服務接口,并基于所述擴 展點實現(xiàn)插件的擴展。在該技術方案中,通過創(chuàng)建靜態(tài)擴展服務接口,從而實現(xiàn)對插件的擴展,充分利用 OSGi的插件隔離思想優(yōu)勢,在不需要對系統(tǒng)重啟的前本文檔來自技高網(wǎng)...
【技術保護點】
一種插件擴展裝置,其特征在于,包括:接口創(chuàng)建單元,用于在基于OSGi的應用開發(fā)平臺中,創(chuàng)建至少一個靜態(tài)擴展服務接口;擴展點定義單元,用于定義擴展點;擴展控制單元,用于調(diào)用所述靜態(tài)擴展服務接口,并基于所述擴展點實現(xiàn)插件的擴展。
【技術特征摘要】
1.一種插件擴展裝置,其特征在于,包括 接口創(chuàng)建單元,用于在基于OSGi的應用開發(fā)平臺中,創(chuàng)建至少一個靜態(tài)擴展服務接Π ; 擴展點定義單元,用于定義擴展點; 擴展控制單元,用于調(diào)用所述靜態(tài)擴展服務接口,并基于所述擴展點實現(xiàn)插件的擴展。2.根據(jù)權利要求1所述的插件擴展裝置,其特征在于,所述擴展點定義單元定義所述擴展點的步驟包括 定義所述擴展點的命名空間和名字,以及定義對所述插件的擴展方法。3.根據(jù)權利要求2所述的插件擴展裝置,其特征在于,所述擴展控制單元包括 擴展定義子單元,用于為所述插件的擴展定義與所述擴展點相同的命名空間和名字,并指定擴展所述插件時所需的資源;以及 資源加載子單元,用于按照定義的擴展方法,加載擴展所述插件時所需的資源。4.根據(jù)權利要求1至3中任一項所述的插件擴展裝置,其特征在于,所述擴展控制單元還用于 在需要移除所述插件時,停止對所述靜態(tài)擴展服務接口的調(diào)用,并刪除擴展的插件及相應的擴展點。5.根據(jù)權利要求4所述的插件擴展裝置,其特征在于,所述擴展點定義單元還用于 在定義所述擴展點時,定義對所述插件的刪除...
【專利技術屬性】
技術研發(fā)人員:仇大帥,陽彪,
申請(專利權)人:深圳中興網(wǎng)信科技有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。