Challenge Engineer Life !

エンジニア人生を楽しみたい!仕事や趣味で学んだ技術的なことを書いていくブログです。

PrimeFacesのポーリングコンポーネントでタイムアウト延命措置(お試し)

久しぶりにPrimeFacesネタです。

先日書いた「GlassFishのタイムアウトでログインページも破棄されてしまう…?」ですが、やはりStackOverflowにもあるように、ViewExpiredExceptionを拾って、ログイン画面を再表示する、あるいはセッションタイムアウトを明示的に示したページへ転送するのが一般的なようです。twitterでコメント頂いた@aoetkさん、@den2snさん、ありがとうございました)

悩ましい所ですね(^^;

仕組み上タイムアウトするの仕方がないじゃん派と、ログインはある意味静的ページなんだから頑張ってよ派に分かれます…。

で、使うかどうかまだわからないのですが、今日少しPrimeFacesのポーリングコンポーネントを試してみました。
http://www.primefaces.org/showcase/ui/poll.jsf

ベタですが、定期的にHTTP通信してセッションタイムアウトを延命する形です。

わりと嬉しいのは、コンポーネントなので、ある特定のページだけに簡単に埋め込める点で、例えばログインページに以下のように置けば

<!-- ログイン画面セッションタイムアウト防止のポーリング -->
<p:poll interval="600" />

interval属性で指定した時間ごと(秒なので、上記は10分ごと)にポーリングします。実際に通信が発生されているかどうかは、Fiddlerで確認しました。

これを使うことで一応ログイン画面をセッションタイムアウトから回避することもできますが、対処としては何とも…(^^;さてさて。

にほんブログ村 IT技術ブログへ
にほんブログ村 にほんブログ村 IT技術ブログ Javaへ
にほんブログ村