我正在尝试在 OSGi 中使用组件工厂。我的意图是使用作为工厂管理器的 Class B 创建作为工厂公开的 Class A 的实例。A 类包含一些带有@Reference 注释的服务,这些服务可以正常工作。相同的方法用于 C 类工厂(类似于 A 类),具有与 @Reference 相同的服务引用。
- 它会向 A 类和 C 类返回相同的服务对象吗?
- 如果是(对于问题1),服务工厂是否会为A类和C类的服务工作?(组件工厂内具有servicefactory属性的服务(A类和C类)
- 如果不是(对于问题 1),在使用 @Reference 时,是否有任何方法可以在 A 类和 C 类中获取唯一的服务对象,而不是工厂?
- 我可以分别对 A 类和 C 类中的那些服务使用 new 运算符来实现相同的目的,但我期待某种 DI 方法。在 DS 中是否可能/可实现?