アクティブ化されていない一部のOSGiバンドルによって提供されるサービスの検出に問題があります。状況を説明させてください。
- バンドルAはインターフェイスXを定義します
- バンドルB、C、およびDは、インターフェイスXを実装するサービスを提供します
- これらのバンドルのサービスはSpringDMを介して登録されるため、バンドルがアクティブ化され、SpringDMがバンドルで定義されたアプリケーションコンテキストを初期化した場合にのみ作成されます。
- バンドルAがアクティブ化され、ある時点でインターフェイスXのサービスをサービスレジストリに要求します。バンドルB、C、およびDはアクティブ状態に移行されていないため(解決済みのみ)、何も見つかりません。
バンドルB、C、またはDを開始できないようです。したがって、それらのサービスを登録します。config.ini
インターフェイスXを実装する(Eclipse p2のような更新メカニズムを介して)アプリケーションにインストールされるバンドルはいくつでも存在する可能性があるため、それらをに追加して開始するように強制することはできません。
このアプリケーションは、Spring2.5.6とSpringDM1.2.1を使用するEclipse3.5ベースのRCPアプリです。
これらのバンドルを強制的にアクティブ化するにはどうすればよいですか?