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

Service 如何在OSGI中从另一个调用服务,service,osgi,bundle,Service,Osgi,Bundle,我开始开发一个OSGibundle基础应用程序。我创建了一个bundle a,它使用bundle B中的服务,而bundle B必须使用bundle C中的服务 但是我不明白如何在另一个代码中获得服务。servicetracker需要bundlecontext,而我的服务代码中没有bundlecontext 提前感谢,在服务B代码中,您应该为服务C的接口设置一个setter 然后从bundle B中的bundle Activator启动ServiceTracker。添加服务C时,创建服务B,删除

我开始开发一个OSGibundle基础应用程序。我创建了一个bundle a,它使用bundle B中的服务,而bundle B必须使用bundle C中的服务

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


提前感谢,

在服务B代码中,您应该为服务C的接口设置一个setter

然后从bundle B中的bundle Activator启动ServiceTracker。添加服务C时,创建服务B,删除服务B时,删除服务

如果您不想手工操作,可以查看声明性服务、blueprint或ipojo。所有这些都要求您以声明方式指定这些依赖项