有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在iPOJO元数据中动态地“从”更改

我有一个关于iPOJO的问题,例如:

  1. 我定义并部署了一个提供“HelloService”服务(接口)的组件a。以及一个名为“实例A”的组件A实例

  2. 我还定义了a中需要“HelloService”服务的组件B。B的实现声明了一个依赖项:

    HelloService hello;

以及元数据。xml,我声明:

<ipojo>
     <component classname="B_class" name="B" immediate="true">
     <requires field=" hello" from="instance_A">
     </requires>
     </component>
     <instance component="B" name="call"/>
</ipojo>
  1. 现在,我想实现一个组件C来动态地控制元数据中的更改(从=“实例”a)到另一个(例如从=“实例”D”)

我如何(C部分)改变这个“从”

提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    请参阅我在update dynamically targeting provider in iPOJO上的答案,动态更改依赖项筛选器

    然而,在你的情况下,拦截器似乎会给你更多的控制权: http://felix.apache.org/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/service-binding-interceptors.html

    1. 创建一个排名拦截器来处理你的依赖关系
    2. 当一个新的提供者到达时,按您想要的顺序对提供者集进行排序。这将调整服务绑定