【发布时间】:2012-05-11 10:12:02
【问题描述】:
我目前正在评估 osgi(使用 felix 4.3 实现)来管理服务的版本控制。
我一直在创建以下捆绑包:
定义接口 x.y.z.SomeService 的 bundle-api(版本 1.0.0): 它在版本 1.0.0 中导出 x.y.z
实现 SomeService (v 1.0.0) 的 bundle-impl(版本 1.0.0),在规范版本 1.0.0 中导入包 x.y.z 并注册服务
定义接口x.y.z.SomeService的bundle-api(2.0.0版): 它在 2.0.0 版本中导出 x.y.z
实现 SomeService (v 2.0.0) 的 bundle-impl(版本 2.0.0),在规范版本 2.0.0 中导入包 x.y.z 并注册服务
现在,我有一个客户端 bundle-client(版本 1.0.0),它可以在版本规范 1.0.0 中导入 bundle-api 的 x.y.z。
如何在 1.0.0 版本中获取 x.y.z.SomeService 的服务?
目前,安装/激活时: 捆绑API 1.0.0 捆绑实现 1.0.0 捆绑API 2.0.0 捆绑实现 2.0.0 捆绑客户端 1.0.0
当启动 bundle-client 时,它会查询可用的 x.y.y.SomeService。 我得到了可用服务的答案: bundle-impl 1.0.0 和 bundle-impl 2.0.0
我只想获得与 1.0.0 版本匹配的服务实现。
我应该怎么做?
ps:目前,我将 null 设置为过滤器值。
【问题讨论】:
标签: binding service osgi versioning