2016-03-29 8 views
0

私はa4j:pollを使用してセッションを有効にしていますが、何らかのアイドル時間が経過した後に「ビューを復元できませんでした私は投票がバックグラウンドでビューを作成していると思うし、それが15の限界に達した後(?)例外がスローされます。ViewExpiredException:aj4:pollを使用しているときにビューを復元できませんでした。

<h:form> 
    <a4j:poll id="poll" interval="30000"/> 
</h:form> 

のweb.xml:

<session-config> 
    <session-timeout>1</session-timeout> 
    <cookie-config> 
     <secure>true</secure> 
    </cookie-config> 
    <tracking-mode>COOKIE</tracking-mode> 
</session-config> 

BalusC言った:あなたは手動で限度方法が低すぎる設定したとき は「だから、それだけで起こるのだろうか、継続的に新しいビューを作成していることバックグラウンドで(例えば、悪い実装された投票によって)。中 :javax.faces.application.ViewExpiredException: View could not be restored

と私はそれは私の問題であると考えているが、私はそれが正しい作り方何のDIEAを持っていない:(

+0

フォームにIDを割り当ててみましたか?おそらく自動生成されたIDによってビューが増えない可能性があります – DaveB

答えて

0

がこの問題を再現する完全なシナリオだったことをあなたは確かにされる場合には 、?問題は、あなたが1秒に設定されているセッションタイムアウトです それはあなたのケースではなかった場合は、あなたの質問を編集

私が発見したもう一つの問題は、a4jです。。。マルチパートフォーム内の世論調査

<h:form enctype="multipart/form-data"> 
    <a4j:poll id="poll" interval="30000"/> 
</h:form> 

これを避け、すべてのポーリング要求に対して新しいビューIDを作成します。

それぞれのajaxリクエストでは、ビューIDが返されます。ビューIDが常に同じであれば問題ありません。リクエストごとに新しいビューIDが取得された場合、ページ内のajaxリクエストに問題があります。

関連する問題