[Seasar-user:9346] Re: [Teeda] セッションに置いたDtoの値がクリアされます

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 7月 22日 (日) 22:00:09 JST


小林 (koichik) です.

Date:    Sat, 21 Jul 2007 12:02:24 +0900
From:    松崎 学 <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:9339] Re: [Teeda] セッションに置いたDtoの値がクリアされます

> ログを添付します。他にも必要な情報や設定ファイルなどあればメールします。

ありがとうございました.
DB Session をお使いだったのですね.
自分の方で確認したときは DB Session を使って
いなかったので,それで再現させることが
できなかったようです.

ログを見たところ,DB Session を使わない場合は
セッションに直接保持されている UserInfoDto と
SubApplicationScope に保持されている UserInfoDto は
同一のインスタンスだったはずなのに,DB Session を
使った場合はそれらが異なっています.

そして Page クラスには SubApplicationScope に
保持されている UserInfoDto が (Teeda によって)
DI され,そちらの loginId が更新されます.

その後異なるサブアプリケーション画面に
遷移すると,SubApplicationScope に保持されている
UserInfoDto ではなく,セッションに直接保持されている
UserInfoDto が (Seasar2 によって) DI されますが,
こちらの loginId は null のままとなります.


という現象は把握できたのですが,対応については
あまり簡単ではないかもしれません.

当面は DB Session を外していただくのが無難かと
思います.
ご迷惑をおかけしますがよろしくお願いします.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>




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