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