OSGI实例demo说明(二)

下面我们就来真正的写一个实例demo,结合OSGI的优点来说明一下,该demo设计如下图:

         

这个demo包含五个Bundles

SayHello Bundle 包含一个接口,只有唯一的方法sayHello();

BobSaysRodSaysKentSays三个Bundles分别实现了三个具体的sayHello()

SayHelloServiceBundle提供了说hello的机会,是具体的一个服务应用,在功能上有点类似于main函数的味道。

 

这个HelloWorlddemo 的目的不但可以让读者小试牛刀,而且可以同时体会一下OSGi 最大的优点——服务状态的可更改性。

BobSays、RodSays、KentSays 实现了SayHello 暴露的接口,它们是sayHello 的具体执行者,但是在SayHelloService 调用的过程中,我们可以动态的改变到底是谁(BobSays、RodSays、KentSays)来说。

为了实现这个demo,还需要简单介绍一下OSGi 最简单的实现机制:OSGiBundles 之间包的依赖关系。每一个OSGi Bundle 的类文件可分为私有的、引入的、暴露的三种,如下图所示

     

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值