我目前正在评估 osgi(使用 felix 4.3 实现)来管理服务的版本控制。
我一直在创建以下捆绑包:
定义接口 xyzSomeService 的 bundle-api(版本 1.0.0):它在版本 1.0.0 中导出 xyz
实现 SomeService (v 1.0.0)、在规范版本 1.0.0 中导入包 xyz 并注册服务的 bundle-impl (版本 1.0.0)
定义接口 xyzSomeService 的 bundle-api(2.0.0 版):它在 2.0.0 版中导出 xyz
实现 SomeService (v 2.0.0)、在规范版本 2.0.0 中导入包 xyz 并注册服务的 bundle-impl (版本 2.0.0)
现在,我有一个客户端,bundle-client(版本 1.0.0),它在版本规范 1.0.0 中导入 bundle-api 的 xyz。
如何在 1.0.0 版中获得 xyzSomeService 的服务?
目前,安装/激活时: bundle-api 1.0.0 bundle-impl 1.0.0 bundle-api 2.0.0 bundle-impl 2.0.0 bundle-client 1.0.0
当启动 bundle-client 时,它会查询可用的 xyySomeService。我得到了可用服务的答案:bundle-impl 1.0.0 和 bundle-impl 2.0.0
我只想获得与 1.0.0 版匹配的服务实现。
我应该如何进行?
ps:目前,我将 null 设置为过滤器值。