[Seasar-user:17433] Re: [S2Container][SAStruts]セッション格納の値について

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2009年 5月 13日 (水) 17:00:16 JST


小林 (koichik) です.

Date:    Tue, 12 May 2009 23:39:05 +0900
From:    Hiroshi Yamamoto <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:17423] [S2Container][SAStruts]セッション格納の値について

> Cool Deploy時にセッションに登録したDtoにActionで値を設定しても、
> 次のリクエストには値が全て未設定になってしまうのですが、
> 何か考えられることはないか教えていただけないでしょうか。
> (Hot Deploy時は問題がありません)
> 
> ログから一度目のリクエストと二度目のインスタンスが異なることが
> 分かっています。

HttpSessionAttributeListener を設定すれば,
いつ誰がインスタンスを変更しているか分かるかも
しれません.

public class AttributeListenerImpl implements HttpSessionAttributeListener {
  public void attributeAdded(HttpSessionBindingEvent event) {
    if ("userContextDto".equals(event.getName())) {
      System.out.println("userContextDto added : " + event.getValue());
      Thread.dumpStack();
    }
  }
  public void attributeReplaced(HttpSessionBindingEvent event) {
    if ("userContextDto".equals(event.getName())) {
      System.out.println("userContextDto replaced : " + event.getValue());
      Thread.dumpStack();
    }
  }
  public void attributeRemoved(HttpSessionBindingEvent event) {
  }
}

これを web.xml に設定して確認してみてください.


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