[Seasar-user:14334] 【再】S2HttpSessionのlastAccessedTimeについて

石井 賢司 [E-MAIL ADDRESS DELETED]
2008年 5月 21日 (水) 12:48:33 JST


石井と申します。お世話になります。

[Seasar-user:14241] S2HttpSessionのlastAccessedTimeについて

で質問させて頂いたものです。
ご回答頂けなかったようですので、しつこいとは思いつつ
お忙しい中、多くのご質問に埋もれてしまったのかも、とも思い、
再度質問させて頂く次第です。以下が質問内容になります。

S2HttpSessionのlastAccessedTimeについて、
質問があります。

Seasar 2.4.25
SAStruts 1.0.2-rc2
を利用させて頂いております。

アプリケーションにて、
セッションタイムアウトを検知しようと、
HttpSession#getLastAccessedTime()を
実行したところ、どんなにリクエストの間隔をあけても、
数百ミリ秒前ぐらいの値が返ってきてしまいます。

そんなはずはないと思い調べた所、
アプリケーションがHttpSession#getLastAccessedTime()を呼ぶより前に
SessionComponentDeployerというオブジェクトが
SessionスコープのコンポーネントをHttpSessionに復元(?)しようとする際、
HttpSession#setAttribute()を呼んでいるため、
S2HttpSession#setAttribute()では、lastAccessedTimeが
そのタイミングで更新されてしまっているように見えます。

私の認識違いでしたら、大変申し訳ありませんが、
ご確認頂けませんでしょうか?

情報に不足がございましたら、ご指摘頂ければと存じます。
お忙しいところ大変恐縮ですが、よろしくお願いいたします。

石井 



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