在我当前的应用程序中,我在几个地方遇到了这种模式:我在一个包中有两个服务接口,它们执行不同但相关的工作。
interface Service1 { ... }
interface Service2 { ... }
并希望让单例组件实现两者,但发现每个组件都需要对另一个组件的引用:
public class Service1Impl implements Service1 {
private Service2 service2;
...
}
public class Service2Impl implements Service2 {
private Service1 service1;
...
}
三个 OSGi 组件模型(DS、Blueprint 和 iPOJO)中的哪一个允许这样做: 1) 何时Service1Impl
和Service2Impl
在同一个包中;2)当它们在不同的包中时?