我有一个与我的问题有关的例子。(文件联合:https ://drive.google.com/file/d/0B8ThLrV6-uchaFlTZTNGQ1FnT1E/view?usp=sharing )
我有 3 个 ipojo 组件(3 个捆绑包):
CallHello 使用在 HelloDelay 或 HelloComponentReplace 中实现的 DelayService 服务
HelloDelay 和 HelloComponentReplace 使用在 HelloPrint 中实现的 HelloService 服务。
在部署时,我部署了 5 个捆绑包:
service.hello.service.jar
打印机.hello.printer.jar
delay.hello.delay.jar
替换.hello.replace.jar
call.hello.call.jar
结果:DelayService 始终使用 HelloDelay 中的实现。
最后,我运行 Main.java 来控制 HelloDelay 和 HelloComponentReplace 之间的手动选择。
我在 Main.java 中实现了一个启动/停止或卸载/安装包的功能(并且效果很好)。但是,HelloDelay 或 HelloComponentReplace 都是有效的。
如果两者都有效且有效,我在 iPOJO 网站上阅读,我可以使用“比较器”。但我不明白如何应用“比较器”来控制上述两个组件之间的选择。这是要改变优先级吗?我知道我们可以更改捆绑包的优先级,但我不知道如何应用到我的文件(Main.java)和 iPOJO。
我们能否控制一个需求组件和许多提供组件(相同的服务或接口)之间的连接(绑定)?
我希望你能在这个时候帮助我的困难。
此致,