我开始开发OSGI包基础应用程序。我创建了一个捆绑A,它从捆绑B中消耗服务,而它又必须使用捆绑包C中的服务。
但我不知道如何在另一个代码中获得服务。 servicetracker需要bundlecontext,我的服务代码中没有bundlecontext。
提前致谢,
答案 0 :(得分:0)
在您的服务B代码中,您应该拥有服务C接口的设置器。
然后从捆绑包B中的捆绑激活器启动ServiceTracker。添加服务C后,创建服务B,当它删除时将其删除。
如果您不想手动执行此操作,可以查看声明性服务,蓝图或ipojo。所有这些都是以声明方式指定这些依赖关系。