Während SingletonBeanFactoryLocator
mit und seine BeanFactoryReference
Ich fand heraus, dass, wenn ich release
auf BeanFactoryReference
Instanz aufrufen, werden einige der Bohnen im Rahmen zerstört, aber einige auch weiterhin zu leben. Meine Annahme war, dass alle von ihnen zerstört würden.Frühling SingletonBeanFactoryLocator Bohne Zerstörung
Eine Folge dieser ist, ich das nächste Mal SingletonBeanFactoryLocator
und BeanFactoryReference
mit dem gleichen Schlüssel verwenden, anstatt brandneue Bohnen zu bekommen, erhalte ich ein paar Bohnen aus dem vorherigen Kontext weitergeführt. Ich finde kein Muster dahinter. Diese Bohnen sind Singletons, aber einige von ihnen sind neu geschaffen und einige von ihnen aus alten Kontext weiter. Wieso ist es so?
Beispiel: Lassen Sie uns sagen, ich habe Bohnen A, B und C in meinem Kontext. Alle sind Singletons, B wird in A injiziert und C wird in B injiziert.
Ich bekomme BeanFactoryReference
, bekomme diese Bohnen und dann Release BeanFactoryReference
.
Ich bekomme dann wieder BeanFactoryReference
; Die Beans A und B sind neu, aber C stammt aus dem alten Kontext (ich habe ihre Systemhashcodes ausgedruckt, um sie zu überprüfen).