私は 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>
この場合、どの実装が得られるかわかりません。また、必要なサービス実装のタイプを設定するオプションが表示されませんか?