2016-04-30 15 views
1

SingletonBeanFactoryLocatorとそのBeanFactoryReferenceを使用している間、私は、コンテキスト内のBeanの一部が破壊されているが、一部は生き続ける、BeanFactoryReferenceインスタンス上releaseを呼び出すときことが分かりました。私の前提は、すべてが破壊されるということでした。春SingletonBeanFactoryLocator豆破壊

この結果、次回は同じキーでSingletonBeanFactoryLocatorBeanFactoryReferenceを使用しています。新しい豆を買う代わりに、以前のコンテキストからいくつかの豆を引き継いでいます。私はこれの背後にパターンを見つけることができません。これらの豆はシングルトンですが、それらのいくつかは新たに作成され、それらのいくつかは古いコンテキストから継承されます。それはなぜそうですか?

例: 私のコンテキストでは、豆A、B、Cを持っているとしましょう。すべてがシングルトンで、BはAで注入され、CはBで注入されます。

私はBeanFactoryReferenceを得て、BeanFactoryReferenceをリリースします。

私は再びBeanFactoryReferenceを取得します。豆AとBは新しいですが、Cは古いコンテキストからです(私はシステムのハッシュコードを表示して確認しました)。

答えて

0

これはSpringでは問題ありません。それはすべての豆をクリアします。これを使ってコードに不具合があったため、いくつかの豆が破壊されずに再利用されたように見えました。