【发布时间】:2013-09-12 06:56:46
【问题描述】:
让我们想象一个存在于其中的捆绑包:
一个组件负责监听服务注册表中的所有“设备”服务实例。
同一组件需要一个“适配器工厂”才能使用发现的设备创建“适配器”。
工厂由另一个捆绑包拥有。
我可以通过使用 ServiceTracker (Activator + Service Tracker) 解决部分问题:激活器实例化 ServiceTracker,它可以注册“设备”服务中的所有更改。
但是我不能将在其他包中创建的 DS 工厂注入到这个服务跟踪器,因为它会导致两个实例(一个由激活器创建并且没有成员 /// 另一个由 osgi 创建并且具有成员变量 ok 但是无法监听“设备”服务更改)。
那么...我该如何解决这种情况?作为班级成员,我怎样才能拥有一个服务跟踪器(对我来说是完美的)?
【问题讨论】:
标签: osgi bundle equinox declarative-services