我是 OSGI 新手,我想了解如何注册服务?它总是通过BundleContext
object inActivator
吗?有没有其他可用的方法?
假设我有一个接口IService
,并且有两个实现ServiceImpl1
,并且ServiceImpl2
在同一个包中,我将它们注册如下。
context.registerService(IService.class.getName(), new ServiceImpl1(), props);
context.registerService(IService.class.getName(), new ServiceImpl2(), props);
但令人困惑的是我如何专门要求特定的服务实现?
serviceImplObject = (IService) dictionaryServiceTracker.getService();</pre>
我不确定在这种情况下我会得到哪种实现。另外我没有看到任何选项来设置我需要什么类型的服务实现?