[CONTAINER-428] [DbSession] HttpSession#setAttribute() を呼び出す度に getLastAccessedTime() が更新される問題を修正しました. Created: 2010-09-02  Updated: 2010-09-06  Resolved: 2010-09-06

Status: Resolved
Project: S2Container
Component/s: DbSession
Affects Version/s: 2.4.42
Fix Version/s: 2.4.43

Type: Bug Priority: Minor
Reporter: azusa Assignee: koichik
Resolution: Fixed Votes: 0
Labels: None


 Description   

http://twitter.com/hidekatsu_izuno/statuses/22715858870

seasar2のs2sessionでは、プロパティを触るたびにlastAccessedTimeが変わってしまうが、servlet2.5の javadocを読む限り最後にクライアントからセッションがリクエストされた時にのみ変化すると書かれているので正しくないような感じ。実害はないけど

だそうです。

確かに実害は少ないですが、ServletAPIの仕様はHttpSessionの値(属性)などの操作時にlastAccessedTimeを更新しないことを明記してますので、(http://download.oracle.com/docs/cd/E17802_01/products/products/servlet/2.5/docs/servlet-2_5-mr2/javax/servlet/http/HttpSession.html#getLastAccessedTime())org.seasar.extension.httpsession.S2HttpSession#setAttribute() でlastAccessedTimeを更新する必要はないと思います。



 Comments   
Comment by koichik [ 2010-09-06 ]

対応しました.
http://www.seasar.org/source/browse/?view=rev&root=s2container&revision=4465

Comment by azusa [ 2010-09-02 ]

servletAPIの関係でいくと、setAttribute()したときにlastAccessedTimeがかわるのはバグじゃないでしょうか。

Generated at Fri Apr 26 07:54:59 JST 2024 using Jira 9.15.0#9150000-sha1:9ead8528714127d8cfabf2446010d7e62c0a195c.