我有相当多的服务注册在registerService
. 为简单起见,我们假设它们是通过一些属性查找的name
。所以一对调用很简单(我使用伪代码作为属性规范):
context.registerService(
IMyService.getClass().getName(), myServiceInst, {"name"="a"})
之后在客户端:
context.getServiceReferences(IMyService.getClass().getName(), {"name"="a"})
由于某种原因,我无法注册name
. 是否可以拦截所有 OSGi 查询,以便在查询时即时创建服务?
我希望有适用于所有 OSGi 层的基本解决方案 - 这意味着上面的代码和带有(例如)声明式服务的代码将以相同的方式工作。