Reference OSGi DS组件生命周期和参考
我有以下设置(在felix osgi framework 4.4.0上): 带有DS组件C的捆绑包B,该DS组件C在服务(由其他捆绑包提供)上具有引用R(aquet.bnd.annotation.component.reference) 当B启动时,一个新的组件C被实例化,引用R被正确地注入 然后,我停止bundle B,期望如果我再次启动它,会: (A) 一个新的组件C'被实例化,R被注入C'或 (B) 现有组件C被重用,R被注入到C中 发生的情况是,我有(a)和(B)的混合物,它不起作用: 一个新的组件C'被实例化,但R被注入C,而不是C' 我的问题是:Reference OSGi DS组件生命周期和参考,reference,osgi,components,lifecycle,Reference,Osgi,Components,Lifecycle,我有以下设置(在felix osgi framework 4.4.0上): 带有DS组件C的捆绑包B,该DS组件C在服务(由其他捆绑包提供)上具有引用R(aquet.bnd.annotation.component.reference) 当B启动时,一个新的组件C被实例化,引用R被正确地注入 然后,我停止bundle B,期望如果我再次启动它,会: (A) 一个新的组件C'被实例化,R被注入C'或 (B) 现有组件C被重用,R被注入到C中 发生的情况是,我有(a)和(B)的混合物,它不起作用:
- 我应该期待(A)或(B)发生吗李>
- 或者:应该发生其他事情吗
- 它是否可能是框架中的一个bug
- 或者:我一开始是不是完全错了