目下内部でテスト中なのですが、1つショボイけど厄介そうなバグが上がりました(^^;
今回はGlassFishのフロントにApacheを置かないのですが(そもそもそういうことがあること知らなかった無知な自分でしたが…twitter上で色々アドバイス頂きましたが、まずはスモールスタートにてそういうことに)、ログイン画面は普通にxhtmlとして作っています。
で、指摘があったのは
ログイン画面を表示したまま長時間放置してて、ログインしようとしたら
エラーページに飛んだ。
というものでした(^^;うーん。
表示しただけだったらBakingBeanも生成前だし、そんなはずは…と思ったら再現したので、原因調査も含めて超シンプルな以下サンプル作ってみたのですが…。
indexページ
<h:head>
<title>タイムアウト確認</title>
</h:head>
<h:body>
<h:form>
<h:commandButton value="次ページ" action="next.xhtml" />
</h:form>
</h:body>
あともう1つ、遷移先のnext.xhtmlを用意します。
BackingBeanすら作ってない(^^;
で、web.xmlにて
<session-config>
<session-timeout>
1
</session-timeout>
</session-config>
として、タイムアウトを1分にして実験。
まずは遷移できることを確認した後に、再度最初の画面を起動して
1分ちょっとしてボタン押下すると…
なん…だと ...... orz
そうですか。
少しぐぐってみたら、同じ悩み持ってる人はいそうでした
ただ、対策としては例外を拾ってログインページへ戻す、というものでした。
ログイン画面起動したまま、ログインしようとしたら(裏ではタイムアウトしていて)またログイン画面を表示、という流れが受け入れられるかどうか…(^^;うーん悩ましい。
web.xmlのsession-timeoutタグでこのページは除外みたいなオプションあれば…と思ったけどなさそうな。。。
最悪、PrimeFacesの以下pollingコンポとかで(ログイン画面だけ)ポーリング…?とか思いつつ(^^;
http://www.primefaces.org/showcase/ui/poll.jsf
詳細な調査は来週やる予定ですー。