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

标签 osgi declarative-services

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

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

最佳答案

没有将您的服务发布到 OSGi Service Registry 的“旧方法”。 BundleContext.registerService() 只有一种方法。您可以通过激活器手动完成,或者声明式服务/蓝图引擎可以为您完成。

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

关于OSGi 声明式服务引用非声明式服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10170292/

相关文章:

osgi - OSGI 包中 Bundle-Classpath 的预期用例是什么

maven - 在 Karaf 容器中打包和部署 OSGi 包和 Karaf 功能

java - 在指定端口注册Servlet

osgi - 在声明式服务中。当服务被停用时,对它的引用何时被删除?

java - 使用 gradle 生成 OSGI-INF/serviceComponent.xml

java - 您如何在 OSGi 中正确地将 ManagedServiceFactory 实现为声明式服务?

java - Eclipse 中没有组件定义向导

java - 使用来自 Maven 的内联 jar 文件构建 osgi 包

java - OSGi:如果不取消服务会发生什么

java - 引用配置管理工厂创建的 OSGi 服务