Fragment Bundle的实际用途

最近在研发兼容OSGi R4.1规范的运行环境 BOND(前身为MINIOSGi),发现 Fragment Bundle 用处很大,它可以使用在下面实际应用场景中:

 

1. 为其他Bundles进行扩展实现,类似于Java中接口(Host Bundle,以下称HB)和实现类(Fragment Bundle,以下称FB)的作用。例如 org.eclipse.swt_x.x.x 这个包,它是一个HB,导出的包名都是通用的包名,像 org.eclipse.swt.widget、org.eclipse.swt.graphics 等,附属于它的包有 org.eclipse.swt.win32_x.x.x、org.eclipse.swt.gtk_x.x.x等 FBs,用于对不同操作系统环境的提供SWT实现。

 

2. 程序国际化消息包,例如 一个 Bundle 如果使用了 ResourceBundle 来为其提供国际化文字,如果别人想加入自己本地语言的文字怎么办?答案是,创建一个附属于它的FB,并根据其主包路径放入消息文件。这么做的好处就是不用修改源Bundle内容,直接安装这个FB就能达到效果,真正的动态部署。如图:
 

附主 Bundle,只有一个 messages.properties 文件用于默认语言的显示。
 

附属 Bundle,提供了英文和中文两种语言的显示。

 

3. 作为Framework的扩展包,就是注入到OSGi运行环境中,为所有Bundles提供支持。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值