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

keiichi owada [E-MAIL ADDRESS DELETED]
2008年 5月 26日 (月) 23:20:59 JST


お世話になります。
大和田です。

回答ありがとうございました。

1,3についてはご教授いただいた方法でうまくいきました。

2についてはやはり「java.lang.ClassCastException」が発生してしまいます。
ただ今回は「1.」と同様にHOT deployの対象外にすることで対応しました。

以上、よろしくお願いします。

08/05/26 に Yasuo Higa<[E-MAIL ADDRESS DELETED]> さんは書きました:
> ひがです。
>
> > 毎々お世話になっております。
> > 大和田です。
> >
> > 現在SAStruts 1.0.2-rc3を利用し開発をしております。
> > Hot Deploy時の動作について質問がありますので、
> > ご教授ください。
> >
> > 1.以下のようなstaticの変数strに値を代入(setStr)後、次のリクエスト時に
> > strを参照(getStr)すると値がクリアされてしまうのですが、このような現象を
> > 解消する方法はありますでしょうか?
> > Cool Deploy時は発生しません。
> >
> >     public class Hoge {
> >          private static String str = "";
> >
> HOT deployでは、クラスがリクエストのたびに作成されるので、
> static変数はあまり意味がありません。
>
> app.diconにHogeを登録しておくと、
> HOT deployの対象外になります。
> >
> > 2.HttpSessionListener#sessionDestroyed等、DIが効かない箇所で
> > 以下のようにセッションで保持している情報HogeDtoを取得すると、
> > 「java.lang.ClassCastException」が発生してしまいます。
> > このような現象を解消する方法はありますでしょうか?
> > Cool Deploy時は発生しません。
> >
> HogeDto hoge = SingletonS2Container.getComponent("hogeDto");
> のようにコンテナから取得するようにしてください。
> >
> > 3.「2.」のようにDIが効かない箇所でコンポーネントを取得する方法は
> > ありますでしょうか?
> > 例えばsessionDestroyed内でDBを使用したいので、JdbcManagerを
> > DIしたい(利用したい)のですが。。。
> > またこの辺ができれば「2.」についても同様な方法で取得可能かなと
> > 考えています。
> >
> 2と同様にSingletonS2Containerが使えます。
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>


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