2011年11月30日 星期三

OSGi Service


這篇來介紹如何使用 OSGY OSGi的Service

Environment:
OS: Ubuntu 11.10 64 bits
IDE: Eclipse Indigo Service Release 1 Java EE 64bits
OSGi Framework: Knopflerfish 3.2.0





1.Eclipse : Toolbar»File»New»Other…»選Plug-In Project

2.先建立Service的Bundle,這裡叫做myServiceProvider,在OSGi Framework選standard

3.點Next會到此畫面,繼續Next

4.把templates勾掉不用,之後點Finish

5.之後在Runtime Tab的Exported Package地方選Add,將這個Service的Package加進來

6.新增Service Interface:在myserviceprovider的地方點右鍵»New»Class,內容就是定義別人要存取的methods

7.新增Service implementation:在myserviceprovider的地方點右鍵»New»Class,內容為實現Service Interface

8.在Activator.java中增加這個Service Bundle啟動和結束的訊息,並且做註冊Service的動作,到此一個簡單的Service就完成了

9.新增要使用Service的Bundle,Toolbar»File»New»Other…»選Plug-In Project,這裡叫做myServiceConsumer

10.一直下一步就好了,記得也要把templates勾掉不用

11.在Dependencies Tab的地方點選Add,將剛剛的myServiceProvider加進來(要先輸入prefix)

12.之後在myServiceConsumer的Activator.java,import myserviceprovider,增加service的reference,就可使用service bundle提供的methods

13.將myServiceProvider和myServiceConsumer 匯出成jar,在project上點右鍵»Export»Plug-In Development»Deployable plug-ins and fragments»Next

14.設定匯出的目錄

15.Option的地方設定如下,之後點Finish

16.開啟Knopflerfish»Open»選myServiceProvider和myServiceConsumer

17.先Start myServiceProvider再開myServiceConsumer,執行畫面如下


沒有留言: