Live a simple life

          沉默(zhu_xing@live.cn)
          隨筆 - 48, 文章 - 0, 評論 - 132, 引用 - 0
          數據加載中……

          【Eclipse插件開發】正確處理擴展加載

                   說明:文中涉及到的內容比較淺顯,熟悉的同志可以閃過了^_^

                   擴展點(Extension Point)和擴展(Extension)這兩個概念,每個插件開發人員應該再熟悉不過了,前者規定了契約,后者按照契約實現并注冊擴展。我們在使用擴展之前必然有個過程就是加載擴展,如果我們在定義擴展點的時候有java類型的屬性,那么這個加載擴展的過程就伴隨著類加載。下面我們來分析一下這個過程。

                    假設我們定義了如下一個擴展點,元素中有一個class屬性,要求父類型為java.lang.Object(夠靈活^_^)

                          
                      【擴展加載過程分析】
                       我們在加載這個擴展的時候,核心操作就是加載class屬性指定類型,這就涉及到了類加載。如果擴展所在的插件還沒有被啟動,則在類加載之前必須要完成的一個操作就是:啟動該提供擴展的插件。有關這個問題的分析,可以參見博客的另外一篇文章:
                      【Eclipse插件開發】Eclipse插件Lazy Start實現原理分析 

                      我們一般的擴展加載代碼如下:
                      
                      待續。。。
                      

                      幾個關鍵點:擴展注冊表的訪問耗時、類加載引起的插件啟動
                      解決方案:引入中間角色

                      待續。。。            

          本博客中的所有文章、隨筆除了標題中含有引用或者轉載字樣的,其他均為原創。轉載請注明出處,謝謝!

          posted on 2008-09-17 18:08 zhuxing 閱讀(990) 評論(0)  編輯  收藏 所屬分類: Eclipse Plug-in & OSGI

          主站蜘蛛池模板: 汝城县| 云霄县| 广昌县| 荥阳市| 门源| 平潭县| 扶风县| 海安县| 麻城市| 门头沟区| 罗平县| 临猗县| 南平市| 普定县| 临泉县| 林芝县| 托里县| 句容市| 上蔡县| 武城县| 玉林市| 马尔康县| 阿瓦提县| 出国| 柯坪县| 同仁县| 水城县| 天峨县| 兴国县| 梨树县| 玉树县| 武陟县| 义乌市| 昭苏县| 西林县| 沿河| 高台县| 甘孜县| 峨边| 余干县| 剑阁县|