[Seasar-user:10696] Teedaのセッション利用に関して
Nishioka Naoto
[E-MAIL ADDRESS DELETED]
2007年 9月 22日 (土) 11:50:34 JST
いつもお世話になっております、
にしおかです。
Teedaを利用した場合の、
Teedaフレームワーク側でのセッションの利用に関しての質問(確認)です。
セッションの維持ができないような環境において、
フォームのdoXxxボタンをクリックしても、
対応するdoXxxメソッドが呼び出されないのは、仕様となりますでしょうか?
(サブアプリケーションスコープ等の情報をHttpSessionに
保持しているようなので、その影響なのかな、と推測しております)
※セッションの維持ができないような環境
⇒複数のTomcatを起動して負荷分散を行っているにもかかわらず、
StickySessionが正しく機能できない場合を想定。
例えば、セッションIDはCookieではJSESSIONIDという名前で
セットされる一方、URLへの埋め込みではjsessionidとなりますが、
Apacheのmod_proxy_balancerでは現状では大文字・小文字を区別し、
かつ1つしか設定できないため、JSESSIONID/jsessionidの両方を用いて
StickySessionでの正しい振り分けを行うことができません。
※セッションレプリケーションを行うことで回避可能だとは
思いますが、今回はその点は無視してください。
デバッガーで追っていったところ、セッション情報の維持が
できなかった(ex.別のサーバにリクエストが転送された)場合、
javax.faces.component.UIViewRoot において events の内容が空となり、
結果的に「doXxx(ボタン)は存在していない」と
認識されてしまっているようです(eventsに値を追加している
queueEventメソッド自体が呼び出されていないようです)。
この先は追跡し切れていないのですが、
この動きは仕様となるのでしょうか?
もしかすると、TeedaというよりJSFの仕様となるのかもしれませんが、
ご教示の程、よろしくお願いいたします。
--------------------------------------------------------
Nishioka Naoto
Seasar-user メーリングリストの案内