[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 メーリングリストの案内