OSGi声明性服务引用非声明性服务

时间:2012-04-16 07:39:43

标签: osgi declarative-services

我有一个使用激活方法声明服务“旧方法”的系统。

现在我正在使用Declarative Services编写一个新的包。 是否可以在我的新捆绑包中引用未使用Declarative Services技术发布的服务?

2 个答案:

答案 0 :(得分:3)

没有"旧方式"将服务发布到OSGi Service Registry。 BundleContext.registerService()只有一种方法。您可以从激活器手动执行此操作,或者声明服务/蓝图引擎可以为您执行此操作。

在DS描述符中,您只需定义对Service Registry中可用服务的引用。

答案 1 :(得分:3)

是的,有可能。当您从DS组件引用服务时,您无需担心该服务的内部实现。

其他服务可能是另一个DS组件,或者它可能是Spring-DM组件,或者可能通过显式调用OSGi API发布。你不在乎。这只是一项服务。