4

私は Java と Spring のバックグラウンドを持っていますが、Castle Windsor については初心者です。Castle は作成されたすべてのコンポーネントを追跡するため、一時的なコンポーネントがいつリリースされるかを知ることが重要であることを読みました。ただし、コンポーネントがいつリリースされるかを理解するのに苦労しています。これが私のモデルの基本です:

Singleton -> Singleton Typed Factory -> Transient Objects

このチェーンの最初のシングルトンをリリースすると、型付きファクトリによって作成されたすべての一時オブジェクトがリリースされますか? これが事実であるかどうかを確認するために行うことができる API 呼び出しはありますか? Castle Windsor の Web サイトに包括的な API ドキュメントが見つかりません。私が見つけたドキュメントは、私には明確ではないようです。

編集: 私の問題は 2 つの主な質問に要約されます。

  1. シングルトン タイプのファクトリ (B) に依存するシングルトン オブジェクト (A) があり、シングルトン A をリリースすると、実際に B がリリースされますか? 以下の回答で言及されているブログ投稿では、シングルトン オブジェクトでのリリースの呼び出しは無視されるため、リリースされないと仮定しています。
  2. 一時オブジェクトを作成するために複数の Web 要求で同時に使用され、Web 要求の 1 つによって解放されるシングルトン型付きファクトリがある場合、その Web 要求から作成されたかどうかに関係なく、すべての一時オブジェクトは解放されますか? Web リクエストまたは一時的なライフスタイルごとに型付けされたファクトリを作成する方が良いようです。
4

1 に答える 1

8

Windsor がオブジェクトを追跡する方法と、いつ Release を呼び出す必要があるかを説明する詳細な投稿は次のとおりです

アップデートの更新

  1. シングルトンのリリースは無視されるので、その通りです。リリースされません。

  2. 特に解決したコンポーネントのリリースについてのみ心配する必要があります。Windsor によって解決された場合 (Typed Factory Facility、サブ依存性リゾルバーなどを介して)、心配する必要はありません。

于 2012-12-30T15:30:12.150 に答える