0

例として、iPOJO に関連する問題があります。

  1. 「HelloService」サービス (インターフェース) を提供するコンポーネント A を定義してデプロイします。そして、「instance_A」という名前のコンポーネント A のインスタンス</p>

  2. A で「HelloService」サービスを必要とするコンポーネント B も定義します。B の実装は依存関係を宣言します。

    HelloService こんにちは。

そして、metadata.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 を実装して、メタデータの変更 (from="instance_A") を別のメタデータ (例: from="instance_D") に動的に制御したいと考えています。

この「から」を変更するにはどうすればよいですか(コンポーネントC)?

前もって感謝します

4

1 に答える 1

0

依存関係フィルターを動的に変更するには、iPOJO の動的ターゲティング プロバイダーの更新に関する私の回答を参照してください。

ただし、あなたの場合、インターセプターはより多くの制御を提供するようです: http://felix.apache.org/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/service- binding-interceptors.html

  1. 依存関係を処理するランキング インターセプターを作成する
  2. 新しいプロバイダーが到着したら、一連のプロバイダーを必要な順序で並べ替えます。これにより、サービス バインディングが適応されます。
于 2014-11-07T09:22:40.723 に答える