それはすべてドキュメントにあります:
会話スコープがアクティブです:
JSF フェースまたは非フェース リクエストのすべての標準ライフサイクル フェーズ中。
会話コンテキストは、特定の会話に関連付けられた状態へのアクセスを提供します。すべての JSF リクエストには、関連する会話があります。この関連付けは、次のルールに従ってコンテナーによって自動的に管理されます。
どの JSF リクエストにも、関連付けられた会話が 1 つだけあります。JSF リクエストに関連付けられた会話は、ビューの復元フェーズの開始時に決定され、リクエスト中に変更されません。
会話は、一時的または長時間実行の 2 つの状態のいずれかになります。
デフォルトでは、会話は一時的です 一時的な会話は、Conversation.begin() を呼び出すことによって長期実行としてマークされる場合があります。
すべての長時間実行会話には文字列値の一意の識別子があり、会話が長時間実行としてマークされたときにアプリケーションによって設定されるか、コンテナーによって生成されます。
現在の JSF 要求に関連付けられている会話が、JSF 要求の終了時に一時的な状態にある場合、その会話は破棄され、会話コンテキストも破棄されます。
現在の JSF 要求に関連付けられている会話が、JSF 要求の終了時に長期実行状態にある場合、それは破棄されません。代わりに、次のルールに従って他のリクエストに伝播される場合があります。
JSF ビューをレンダリングするリクエストに関連付けられた長時間の会話コンテキストは、そのレンダリングされたページから発生するすべての Faces リクエスト (JSF フォーム送信) に自動的に伝播されます。JSF リダイレクト (ナビゲーション ルールまたは JSF NavigationHandler に起因するリダイレクト) をもたらすリクエストに関連付けられた長期対話コンテキストは、結果の非 Faces リクエスト、および同じ URL への他の後続のリクエストに自動的に伝播されます。これは、会話の一意の識別子を含む cid という名前の GET 要求パラメーターを使用して実現されます。リクエストに関連付けられた長時間の会話は、会話の一意の識別子を含むcidという名前のGETリクエストパラメーターを使用して、faces以外のリクエストに伝播できます。この場合、
会話が JSF 要求に伝搬されない場合、その要求は新しい一時的な会話に関連付けられます。長時間実行される会話はすべて、特定の HTTP サーブレット セッションに限定され、セッションの境界を越えることはできません。次の場合、伝播された長時間の会話を復元して、要求に再度関連付けることはできません。
HTTP サーブレット セッションが無効になると、サーブレットの service() メソッドが完了した後、現在のセッション中に作成されたすべての長時間実行会話コンテキストが破棄されます。コンテナは、リソースを節約するために、現在の JSF リクエストに関連付けられていない長時間実行されている会話を任意に破棄することが許可されています。
著者:ギャビン・キング、ピート・ミューア