非常に大きなファイルがいくつかアップロードされているとセッションタイムアウトが発生する可能性がありますか? 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. JBossのSpringとセッションのタイムアウト
- 3. セッション状態のタイムアウトとアイドルタイムアウト
- 4. セッション値のタイムアウト
- 5. Liferayセッションのタイムアウト
- 6. WebSphereクラスタのセッション・タイムアウト
- 7. ASP.NET MVC認証とセッションのタイムアウト
- 8. Asp.netセッション変数のタイムアウト
- 9. GoogleアナリティクスIOS SDKセッションのタイムアウト
- 10. iPhoneセッション - 非アクティブ時のタイムアウト
- 11. Slick 3のセッション設定/タイムアウト
- 12. PHPセッションがタイムアウトしない
- 13. 新しいログイン(新しいセッション)とセッションのタイムアウトを区別する方法
- 14. Jboss 5.1セッションのタイムアウトが効かない
- 15. sshセッションのタイムアウトを回避する
- 16. ASP.Netセッションのタイムアウトが動作しない
- 17. magentoセッションのタイムアウトを処理する
- 18. セッションのタイムアウトをC#で確認する
- 19. Apache/PHPアプリケーションのセッションがタイムアウトする
- 20. 予期せずASP.NETセッションのタイムアウト
- 21. RedisとAsp.Netのセッション状態 - 評価時のタイムアウト
- 22. Strutsのデフォルト・セッション・タイムアウト値とは何ですか?
- 23. Swift 3 URLセッション - URLとのタイムアウトを追加する
- 24. ColdFusionセッションがタイムアウトしていない
- 25. ボットビルダーフレームワークでセッションがタイムアウトしましたか?
- 26. Weblogic 10.3セッションがタイムアウトしない
- 27. セッションがタイムアウトしたときにLaravelがエラーを返す
- 28. PHPセッションがタイムアウトすると、ページ全体がリダイレクトされます。
- 29. セッション/セッション変数のデフォルトのタイムアウト時間はどのくらいですか?
- 30. Spring Securityでセッションを有効にしてセッションのタイムアウトを設定する方法
ありがとうございます。私は 'p:fileUpload'が私の場合はアップロードが完了したときに見えなくなるので、オプション2を使用します。それは閉じられるダイアログの中にあり、アップロードはjavascript呼び出しによって開始されます。 – opfau
ようこそ。 – BalusC
+1ステートレスJSFフォームの言及! :Dは今までそれを知らなかった。どのjsfリリースで利用可能になるのでしょうか? – Fritz