我有一个使用激活方法声明服务“旧方法”的系统。
现在我正在使用Declarative Services编写一个新的包。 是否可以在我的新捆绑包中引用未使用Declarative Services技术发布的服务?
答案 0 :(得分:3)
没有"旧方式"将服务发布到OSGi Service Registry。 BundleContext.registerService()只有一种方法。您可以从激活器手动执行此操作,或者声明服务/蓝图引擎可以为您执行此操作。
在DS描述符中,您只需定义对Service Registry中可用服务的引用。
答案 1 :(得分:3)
是的,有可能。当您从DS组件引用服务时,您无需担心该服务的内部实现。
其他服务可能是另一个DS组件,或者它可能是Spring-DM组件,或者可能通过显式调用OSGi API发布。你不在乎。这只是一项服务。