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 閱讀(981) 評論(0)  編輯  收藏 所屬分類: Eclipse Plug-in & OSGI

          主站蜘蛛池模板: 台中市| 肇州县| 阿图什市| 通州市| 怀来县| 绩溪县| 大连市| 承德市| 华安县| 于田县| 奉贤区| 武宣县| 蚌埠市| 白朗县| 栖霞市| 金平| 怀安县| 新竹县| 会宁县| 历史| 无极县| 吴堡县| 札达县| 邵武市| 延寿县| 油尖旺区| 阳江市| 东乡县| 杭州市| 邳州市| 曲水县| 浮梁县| 仁布县| 瓦房店市| 青河县| 邳州市| 贺州市| 疏附县| 丹东市| 桦甸市| 泗水县|