私は OSGI を初めて使用します。サービスを登録する方法を理解しようとしていますか? それは常にBundleContextオブジェクトを介してActivatorですか?利用可能な代替方法はありますか?
インターフェイスIServiceがあり、2 つの実装がServiceImpl1ありServiceImpl2、同じバンドルに以下のように登録しているとします。
context.registerService(IService.class.getName(), new ServiceImpl1(), props);
context.registerService(IService.class.getName(), new ServiceImpl2(), props);
しかし、特定のサービスの実装を具体的にどのように要求すればよいのでしょうか?
serviceImplObject = (IService) dictionaryServiceTracker.getService();</pre>
この場合、どの実装が得られるかわかりません。また、必要なサービス実装のタイプを設定するオプションが表示されませんか?