![](/img/trans.png)
[英]Java - Spring: dependency injection across bean factories in SingletonBeanFactoryLocator?
[英]Spring SingletonBeanFactoryLocator bean destruction
在使用SingletonBeanFactoryLocator
及其BeanFactoryReference
我發現當我在BeanFactoryReference
實例上調用release
時,上下文中的一些bean被銷毀但有些仍繼續存在。 我的假設是所有這些都會被摧毀。
這樣做的結果是,下次我使用具有相同鍵的SingletonBeanFactoryLocator
和BeanFactoryReference
,而不是獲取全新的bean時,我從前面的上下文中獲取了一些bean。 我無法找到這背后的模式。 這些豆子是單身,但其中一些是重新創造的,其中一些是從舊的環境中繼續進行的。 為什么會這樣?
示例:假設我在上下文中有bean A,B和C. 所有都是單例,B注入A,C注入B.
我得到BeanFactoryReference
,獲取這些bean然后釋放BeanFactoryReference
。
然后我再次獲得BeanFactoryReference
; bean A和B是新的,但C來自舊的上下文(我打印了他們的系統哈希碼來檢查它)。
這在Spring中不是問題。 它確實清除了所有豆類。 使用這個代碼時出現了一個小故障,這使得它看起來好像有些bean沒有被銷毀但是被重用了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.