OSGi的helloworld

  该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程序顺利运行!

 

 

      

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值