私はしばらくの間徐々にSpringを理解してきており、概念については合理的な考えを持っていると思いますが、別のスレッドで情報に出くわし、状況が逆転しました...
「...初期化ライフサイクルコールバックメソッドはスコープに関係なくすべてのオブジェクトで呼び出されますが、プロトタイプの場合、構成された破棄ライフサイクルコールバックは呼び出されません。クライアントコードは、プロトタイプスコープのオブジェクトをクリーンアップし、プロトタイプBeanの高価なリソースを解放する必要があります保持しています。SpringコンテナでプロトタイプスコープのBeanが保持するリソースを解放するには、クリーンアップが必要なBeanへの参照を保持するカスタムBeanポストプロセッサを使用してみてください。」
これにより、たとえば、リクエストごとに「新しい」Beanインスタンスが必要な場合など、プロトタイプBeanを使用したいという実際のユースケースがあると思いました。ただし、このスニペット(Spring 3のドキュメントから)について私が理解していることから、Springはクリーンアップが必要なBeanへの参照を保持しています(参照自体は、Beanがガベージコレクターによって自動的にクリアされないことを意味します)。さらに、このことから、プロトタイプBeanが保持しているリソースを手動でクリーンアップする必要があると考えています。
これが正しいかどうか誰かに知らせてもらえますか?もしそうなら、これに対処するために使用される典型的なパターンはありますか?SpringがこのようにプロトタイプBeanを実装するアーキテクチャ上の理由を説明できる回答をいただければ幸いです。