3

OSGi Declarative Services を使用していて、policy = dynamic で多数の参照を持つサービスがあると仮定します...

A - 必須単項。

B - 必須単項。

C - 必須倍数。

D - オプションの単項。

E - オプションの倍数。

私のサービスが開始されると、すべての参照が利用可能になります。バインドが呼び出される順序を制御する方法はありますか?

B を最初にバインドし、入ってくる E ごとに何かをしたいのですが、B が E の前にバインドされていることを保証する方法がありません。

はい、より論理的なアプローチは、B を表すサービスを E にもバインドさせ、必要なことは何でも実行させることですが、B を変更することはできず、使用することしかできません。B と E にバインドするだけの新しいサービスを作成しても、同じ問題が発生します。

すべてがバインドされているときに activate メソッドで必要なことは何でも実行でき、追加の (動的) E がバインドされているときにそれを実行できますが、別の方法があるかどうか疑問に思っていました...

4

1 に答える 1