2016-04-30 12 views
1

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).

Antwort

0

Dies ist kein Problem im Frühjahr. Es löscht alle Bohnen. Es gab einen Fehler im Code, der dazu führte, dass es aussah, als ob einige Bohnen nicht zerstört, sondern wiederverwendet wurden.

Verwandte Themen