假設我有一對夫婦春豆:春天初始化順序
<beans>
<bean name="A" ... />
<bean name="B" ... />
</beans>
「B」暴露了一個遠程服務,它不需要「A」。假設「A」需要一個不可忽略的時間來加載。這意味着在重啓週期中,應用程序會掛起遠程客戶端,該遠程客戶端可以實際連接到服務器,但等待響應,直到spring容器完全初始化。
我想什麼,能夠做的是立即有「B」遠程服務響應,即使(基於應用程序的狀態),它只能返回NOT_READY或一些這樣的。但是,容器會強制等待,直到它的所有bean都被初始化,即使您將bean指定爲lazy-init並且與加載順序無關。
我懷疑是有「B」可立即將意味着春天將不得不作出可用部分初始化容器,這聽起來很糟糕。不過,我很感謝任何人獲得初始化順序的信息,以及您是否找到了任何合理的解決方法。
你能解釋爲何bean中採用「不可忽略的時間」來實例化本身?是否可以重新分解Bean A,以便不可忽略的時間成爲在實例化過程之外調用的函數? – 2008-10-14 19:36:37