[發明專利]組件動態加載與執行的方法和裝置在審
| 申請號: | 201710032926.2 | 申請日: | 2017-01-18 |
| 公開(公告)號: | CN108334374A | 公開(公告)日: | 2018-07-27 |
| 發明(設計)人: | 黃世清 | 申請(專利權)人: | 北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 中國國際貿易促進委員會專利商標事務所 11038 | 代理人: | 許蓓 |
| 地址: | 100195 北京市海淀區杏石口路6*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 模型組件 加載 類加載器 組件動態 方法和裝置 上下文對象 反射方式 服務運行 運行服務 組件加載 類繼承 類信息 創建 調用 | ||
本發明公開了一種組件動態加載與執行的方法和裝置,涉及組件加載與運行領域。其中的方法包括:設置欲執行的模型組件以及所述模型組件中欲運行的類,其中,所述模型組件中欲運行的類繼承所述模型組件的接口;創建類加載器;利用創建的所述類加載器對所述模型組件進行加載;利用類反射方式,將所述模型組件中欲運行的類信息和所述模型組件的上下文對象作為參數,調用所述類加載器的服務運行方法加載所述模型組件中的運行接口來運行所述模型組件的運行服務。從而使得組件動態加載與執行實現起來更加簡單。
技術領域
本發明涉及組件加載與運行領域,特別涉及一種組件動態加載與執行的方法和裝置。
背景技術
組件通常在應用服務器啟動時被加載并運行。如果組件更新,往往需要重新啟動應用服務器對該組件進行加載。然而,有時會希望能夠在不重啟應用服務器的情況下更新并加載組件,即動態加載組件。
OSGI(Open Service Gateway Initiative,開放服務網關協議)是面向JAVA的動態模型系統,允許開發人員構建動態化、模塊化的JAVA系統。OSGI通過模塊化和動態化來對組件進行動態加載與執行,其中,模塊化是指可以將一個大型系統分解為多個較小的互相協作的邏輯單元,通過強制設定模塊之間的邏輯邊界來改善系統的維護性和封裝性。動態化是指提供在多種網絡設備上無需重啟情況下的動態改變構造的功能。OSGI的功能比較強大,然而,要利用OSGI提供的模塊化的特點,就不得不接受其動態化的特點,由此造成組件動態加載與運行實現起來比較復雜。
發明內容
本發明要解決的一個技術問題是:目前組件動態加載與運行實現起來比較復雜的問題。
根據本發明的一個方面,提供一種組件動態加載與執行的方法,包括:設置欲執行的模型組件以及所述模型組件中欲運行的類,其中,所述模型組件中欲運行的類繼承所述模型組件的接口;創建類加載器;利用創建的所述類加載器對所述模型組件進行加載;利用類反射方式,將所述模型組件中欲運行的類信息和所述模型組件的上下文對象作為參數,調用所述類加載器的服務運行方法加載所述模型組件中的運行接口來運行所述模型組件的運行服務。
其中,可以通過服務組件提供的接口參數設置欲執行的模型組件以及所述模型組件中欲運行的類。
其中,可以通過實現URLClassLoader并重載findclass方法來創建類加載器,其中,實現的URLClassLoader用于加載任意指定目錄下所述模型組件的文件,重載的findclass方法用于從資源庫中查找所述模型組件中欲運行的類,所述資源庫中緩存所述模型組件的文件。
如果有多個模型組件,可以為不同的模型組件分別創建對應的類加載器,每個類加載器加載對應的模型組件。
組件動態加載與執行的方法還包括:在運行所述模型組件的運行服務之前,利用類反射方式,將所述模型組件中欲運行的類信息和所述模型組件的上下文對象作為參數,調用所述類加載器的初始化方法加載所述模型組件中的初始化接口來運行所述模型組件的初始化服務。
組件動態加載與執行的方法還包括:在運行所述模型組件的運行服務之后,利用類反射方式,將所述模型組件中欲運行的類信息和所述模型組件的上下文對象作為參數,調用所述類加載器的清理方法加載所述模型組件中的清理接口來運行所述模型組件的清理服務;卸載所述類加載器,釋放所述類加載器占用的資源。
根據本發明的再一個方面,提供一種組件動態加載與執行的裝置,其特征在于,包括:設置模塊,用于設置欲執行的模型組件以及所述模型組件中欲運行的類,其中,所述模型組件中欲運行的類繼承所述模型組件的接口;創建模塊,用于創建類加載器;加載模塊,用于利用創建的所述類加載器對所述模型組件進行加載;運行模塊,用于利用類反射方式,將所述模型組件中欲運行的類信息和所述模型組件的上下文對象作為參數,調用所述類加載器的服務運行方法加載所述模型組件中的運行接口來運行所述模型組件的運行服務。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司,未經北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710032926.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種多MCU升級的方法及系統
- 下一篇:VR設備的配置方法及裝置、VR設備





