[Seasar-user:14428] Hot Deploy時の動作について

keiichi owada [E-MAIL ADDRESS DELETED]
2008年 5月 25日 (日) 01:51:38 JST


毎々お世話になっております。
大和田です。

現在SAStruts 1.0.2-rc3を利用し開発をしております。
Hot Deploy時の動作について質問がありますので、
ご教授ください。

1.以下のようなstaticの変数strに値を代入(setStr)後、次のリクエスト時に
  strを参照(getStr)すると値がクリアされてしまうのですが、このような現象を
  解消する方法はありますでしょうか?
  Cool Deploy時は発生しません。

    public class Hoge {
         private static String str = "";

         public static String getStr() {
             return str;
        }

        public static void setStr(String str) {
            Hoge.str = str;
        }
    }

2.HttpSessionListener#sessionDestroyed等、DIが効かない箇所で
  以下のようにセッションで保持している情報HogeDtoを取得すると、
  「java.lang.ClassCastException」が発生してしまいます。
  このような現象を解消する方法はありますでしょうか?
  Cool Deploy時は発生しません。

    public void sessionDestroyed(HttpSessionEvent event) {
        HogeDto hoge = (HogeDto)event.getSession().getAttribute("hogeDto");
    }

3.「2.」のようにDIが効かない箇所でコンポーネントを取得する方法は
  ありますでしょうか?
  例えばsessionDestroyed内でDBを使用したいので、JdbcManagerを
  DIしたい(利用したい)のですが。。。
  またこの辺ができれば「2.」についても同様な方法で取得可能かなと
  考えています。

お忙しいところ申し訳ありませんが、
よろしくお願いします。


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