[seasar-dev:1122] Seasar2.4.40のCONTAINER-399

jun funakura [E-MAIL ADDRESS DELETED]
2009年 11月 26日 (木) 16:09:46 JST


ふなくら(nod)です。

Seasar2.4.40のリリースにある、以下の問題ですが
ログが出力されなくなった事は改善されているのですが
修正の元となった、[Seasar-user:18506]にあるエラー(データ取得時にエラー)
になるのは変わっていません。

   * [CONTAINER-399] - [S2Container] HOT deploy 中に他のスレッドで同じ
                       HttpSession が無効化されると IllegalStateException が
                       ログに出力される問題を修正しました.[Seasar-user:18506]


BlazeDSでは、HttpSessionベースのFlexSessionというのをもっていて、
クライアント単位にIDを割り振って管理しているようです。

HotDeploy環境下で二回目以降にアクセスがあると、HttpSessionに
複数のFlexSessionIDが付与された状態になってしまい、sessionをinvalidateして
処理しクライアント側にfault(いわゆるエラー)を返してしまうという状況です。

CoolDeployの時には上記のような現象はおきません。



BlazeDSは以下のメッセージをクライアントにかえしています。
FlashPlayerのdebug版ですと以下のメッセージが画面上に表示されます。

Detected duplicate HTTP-based FlexSessions, generally due to the
remote host disabling session cookies.
Session cookies must be enabled to manage the client connection correctly."
faultCode="Server.Processing.DuplicateSessionDetected


Flex開発環境がなくても実際に再現できるようにクライアントのバイナリを
用意しましたのでお手数ですが、確認していただけないでしょうか。

Dolteng0.38で以下の設定でプロジェクトを作成していただき、
scaffoldでempテーブルのサービスを作成します。
名前:s2blazeds038
コンテキスト:/s2blazeds038
presentation:S2BlazeDS(ServerOnly)

で以下のファイルsrc/main/webapp/以下に解凍して
http://www.noridon.net/s2blazeds/s2blazeds038client-debug.zip

ブラウザで以下のようにアクセスして表示される画面でボタンをクリックすると
動作が再現できます。
http://localhost:8080/s2blazeds038/s2blazeds038client-debug/s2blazeds038client.html



私が別途確認できるところ、見ておくところなどがありましたら
ご指摘ください。

# 前回のDoltengの確認時に、CoolDeployでしか確認してませんでした。
# 申し訳ありません。m(__)m
# 心より恥じる<-koichikさん風..

--
ふなくら


Seasar-dev メーリングリストの案内