OSGi Declarative Services を使用していて、policy = dynamic で多数の参照を持つサービスがあると仮定します...
A - 必須単項。
B - 必須単項。
C - 必須倍数。
D - オプションの単項。
E - オプションの倍数。
私のサービスが開始されると、すべての参照が利用可能になります。バインドが呼び出される順序を制御する方法はありますか?
B を最初にバインドし、入ってくる E ごとに何かをしたいのですが、B が E の前にバインドされていることを保証する方法がありません。
はい、より論理的なアプローチは、B を表すサービスを E にもバインドさせ、必要なことは何でも実行させることですが、B を変更することはできず、使用することしかできません。B と E にバインドするだけの新しいサービスを作成しても、同じ問題が発生します。
すべてがバインドされているときに activate メソッドで必要なことは何でも実行でき、追加の (動的) E がバインドされているときにそれを実行できますが、別の方法があるかどうか疑問に思っていました...