Primefaces 3.2を使用していますが、JSFでスレッドを使用しているときに問題が発生します。FacesContext
そのスレッドから現在の参照を取得できませんでした。
そのスレッド内でそのコンテキストへの参照を取得する方法。
Primefaces 3.2を使用していますが、JSFでスレッドを使用しているときに問題が発生します。FacesContext
そのスレッドから現在の参照を取得できませんでした。
そのスレッド内でそのコンテキストへの参照を取得する方法。
電流FacesContext
は静的スレッドローカル変数に格納されます。サーブレットコンテナは、特定のスレッドを使用して、コンテナに到着する各要求/応答を処理します。そのため、FacesContext
スレッドローカル変数にを格納すると、リクエスト処理ライフサイクルごとに1つのインスタンスのみが存在するようになります。
別のスレッドからへの参照を取得しようとするとFacesContext
、スレッドローカル変数として格納され、新しいスレッドがまだ初期化していないため、null
参照を取得します。
別の新しいスレッドでfacesコンテキストが必要な場合、可能な唯一の方法は、を使用して新しいコンテキストインスタンスを作成することFacesContextFactory
です。HttpServletRequest
ただし、インスタンス化するには、、、HttpServletResponse
およびaへの参照が必要にServletContext
なります(別のスレッドからこれらのオブジェクトへの有効な参照を取得することはできないと思います)。