如何在OSGI中调用另一个服务

时间:2015-02-11 13:41:41

标签: service osgi bundle

我开始开发OSGI包基础应用程序。我创建了一个捆绑A,它从捆绑B中消耗服务,而它又必须使用捆绑包C中的服务。

但我不知道如何在另一个代码中获得服务。 servicetracker需要bundlecontext,我的服务代码中没有bundlecontext。

提前致谢,

1 个答案:

答案 0 :(得分:0)

在您的服务B代码中,您应该拥有服务C接口的设置器。

然后从捆绑包B中的捆绑激活器启动ServiceTracker。添加服务C后,创建服务B,当它删除时将其删除。

如果您不想手动执行此操作,可以查看声明性服务,蓝图或ipojo。所有这些都是以声明方式指定这些依赖关系。