非常に大きなファイルがいくつかアップロードされているとセッションタイムアウトが発生する可能性がありますか? 5 GByteの大きなファイルをアップロードし、短いセッションタイムアウトが設定されているとします。ファイルのストリーミング中にセッションタイムアウトが発生する可能性はありますか?プライムフェイスファイルアップロードとセッションのタイムアウト
6
A
答えて
8
はい、できます。 servlet specificationでは、アクティブな要求中にセッションが破棄されることはありません。そのようなアップロードがBeanに到着すると、ViewExpiredException
のリスクが発生します。
これはあなたの関心事であるならば、あなたはいくつかのオプションをしました:
はアップロードフォームが非同期セッションを存続する間隔でサーバにポーリングしてみましょう。 ELで
#{session.maxInactiveInterval}
を使用すると、現在のタイムアウトを秒単位で取得できます。<p:fileUpload ... /> <p:poll interval="#{session.maxInactiveInterval - 10}" async="true" />
10秒の差がちょうどページ自体も、すべてのHTMLをロードすると、投票を初期化するために時間がかかる場合がありますので、それは遅すぎる、数秒に到達することを防ぐためです。アップロードの開始時に条件付きで投票を開始/レンダリングすることができます。
アップロードの「ONSTART」イベントは一定の限界(時間?)にセッションタイムアウトを増やしてみようと、アップロードの「onCompleteの」イベントが戻ってそれを置くましょう。あなたは豆に秒単位で希望セッションタイムアウトを設定するために
ExternalContext#setSessionMaxInactiveInterval()
を使用することができます<p:fileUpload ... onstart="increaseTimeout()" oncomplete="resetTimeout()" /> <p:remoteCommand name="increaseTimeout" listener="#{bean.increaseTimeout}" /> <p:remoteCommand name="resetTimeout" listener="#{bean.resetTimeout}" />
。
stateless JSFフォームを使用します。 HTTPセッションの動作に関係なく、ビューは期限切れになりません。
<f:view transient="true"> ... </f:view>
注:すべてのビューは、このようなビューに結び付け豆がリクエストスコープのもののように動作しますスコープ。混乱を避けるため、必要に応じてアノテーションを置き換えてください。
関連する問題
- 1. ASP.NETのアプレットとセッションのタイムアウト
- 2. セッション状態のタイムアウトとアイドルタイムアウト
- 3. セッション値のタイムアウト
- 4. iPhoneセッション - 非アクティブ時のタイムアウト
- 5. Asp.netセッション変数のタイムアウト
- 6. GoogleアナリティクスIOS SDKセッションのタイムアウト
- 7. PHPセッションがタイムアウトしない
- 8. 新しいログイン(新しいセッション)とセッションのタイムアウトを区別する方法
- 9. sshセッションのタイムアウトを回避する
- 10. Apache/PHPアプリケーションのセッションがタイムアウトする
- 11. 予期せずASP.NETセッションのタイムアウト
- 12. magentoセッションのタイムアウトを処理する
- 13. ASP.Netセッションのタイムアウトが動作しない
- 14. Jboss 5.1セッションのタイムアウトが効かない
- 15. ColdFusionセッションがタイムアウトしていない
- 16. Weblogic 10.3セッションがタイムアウトしない
- 17. PHPセッションがタイムアウトすると、ページ全体がリダイレクトされます。
- 18. Spring Securityでセッションを有効にしてセッションのタイムアウトを設定する方法
- 19. Railsとセッションのセッションとローデスのセッション
- 20. セッションがタイムアウトした後でもセッションを保持できますか?
- 21. 選択したセッション変数の長時間のタイムアウトを
- 22. タイムアウト設定前のASPセッションの有効期限
- 23. セッションのタイムアウトに関する命令の実行
- 24. スケジューラのためにセッションがタイムアウトにならない
- 25. Grails Spring Security Coreプラグインでセッションのタイムアウトを設定する
- 26. 非アクティブ後にセッションのタイムアウトを設定する
- 27. セッション変数のタイムアウトを処理します
- 28. セッションのタイムアウトがCakePHP 2.0であまりにも遅い
- 29. MVC3アプリケーションでセッション状態のタイムアウトがForms認証のタイムアウトをオーバーライドするのはなぜですか?
- 30. タイムアウトまでセッションに時間を残します
ありがとうございます。私は 'p:fileUpload'が私の場合はアップロードが完了したときに見えなくなるので、オプション2を使用します。それは閉じられるダイアログの中にあり、アップロードはjavascript呼び出しによって開始されます。 – opfau
ようこそ。 – BalusC
+1ステートレスJSFフォームの言及! :Dは今までそれを知らなかった。どのjsfリリースで利用可能になるのでしょうか? – Fritz