0
我具有以下設置(菲利克斯OSGi框架4.4.0):OSGi的DS組件的生命週期和參考
一個捆B與具有參考R A DS組分C(aQute.bnd.annotation.component。參考)服務(由其他軟件包提供)。
當B的開始,一個新的C成分被實例化和參考R的正確注射...
然後我停止包B,期待的是,如果我再次啓動它,要麼:
(A)一個新的組件C '被實例化和R被注入在C' 或
(B)的現有組件C被重複使用,並且R在C.
注入什麼情況是,我(A)和(B)的混合物不起作用:
一個新的組件C '被實例化但 R在Ç,不Ç注入'。
我的問題是:
- 我應該期待(A)或(B)發生?
- 或者:應該發生其他事情嗎?
- 是否 - 可能 - 框架中的錯誤?
- 或者:首先我得到了一些完全錯誤的東西嗎?
事情是,我的代碼太複雜了,但我需要有人指點我正確的方向......在這種特殊情況下,我在解釋有關聲明式服務的OSGi規範時遇到了問題。它甚至定義了是否必須創建一個新的(組件C的)實例 - 或者舊的實例可以被重用?
在此先感謝您的任何提示!