OSGi的helloworld_OSGI

來源:互聯網
上載者:User

  該helloworld例子程式主要的功能是在啟動和停止一個Bundle的時候來做些事情(輸出資訊)。

 

 

1、建立bundle工程

 

(1)在eclipse中建立一個Plug-in工程

 

(2)輸入工程相關資訊

 

(3)輸入Bundle的相關中繼資料資訊:

       Plug_in ID指的是Bundle的唯一標識,在實際項目中可以採用類似java的包名組織策略來保證標識的唯一性

       Plug-in Version  指的是Bundle的版本

       Plug-in Name 指的是BundleBundle的更具有意義的名稱

       Plug-in Provider 指的是Bundle的供應商

       Execution Environment 指的是Bundle運行需要的環境

       剩下的關鍵就是Activitor部分了,填入自己的一個類名就可以了,在工程建立時Eclipse會自動建立這個類

 

(4)完成了Bundle工程的建立後,在Package視圖中就可以看到如下圖所示,表明工程建立成功:

 

 

2、完成Activator的代碼

 

(1)開啟預設的Activator.java

 這個類實現了BundleActivator介面,其中有兩個空的方法--start和stop。start方法是在Bundle被啟動的時候調用的,stop是在Bundle被停止時調用的,加入代碼:

 HelloWorld的例子完成。

 

3、運行

 

(1)首先建立一個HelloWorld用的回合組態

(2)然後設定HelloWorldde 的Auto-Start屬性為false

 

(3)點擊Run,在Console中出現"osgi>"提示。表明成功啟動一個OSGi應用。

        在osgi>提示符後面輸入 ss,按斷行符號鍵,如下圖:

 可以看到,HelloWorld Bundle已經被安裝並且完成瞭解析,但是 還沒有啟動。下面在osgi>提示符下輸入 start 1,然後斷行符號,然後再輸入ss:

 看到HelloWorld啟動了,通過ss可以看到HelloWorld Bundle的狀態改變為ACTIVE,說明啟動成功。並且在Activitor的start方法中加入的輸出資訊也正確的列印出來了。

  接著 輸入 stop 1 ,並且再用ss命令查看bundle的狀態:

 這個時候Bundle停止。

  至此,一個OSGi Bundle順利完成,第一個OSGi程式順利運行。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.