[Seasar-user:6384] Re: 【S2Struts/Seasar】HOT DEPLOY時に ClasCastException

原田 [E-MAIL ADDRESS DELETED]
2007年 2月 27日 (火) 18:08:13 JST


原田です。

ありがとうございます。

そうですか、地道に対応していきます。
この辺、FAQに入っていてくれたりすると、うれしかったのですが・・・。

また、毎回違うクラスになってしまうということは、デシリアライズできないクラスになると
いうことですね。

HOT状態では注意が必要ですね。

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


Yasuo Higa <[E-MAIL ADDRESS DELETED]> wrote:

> ひがです。
> 
> > 原田です。
> > 
> > たびたびすみません。
> > 
> > 現在SMART DEPLOY環境への移行時だということもあり、
> > HOT DEPLOYされるクラス群とされないクラス群があるのですが、
> > HOT DEPLOY時に、HOT DEPLOYされないクラスで、HOT DEPLOYされるクラスのコンポーネントを
> > 
> > **** = (****)SingletonS2ContainerFactory.getContainer().getComponent(****.class);
> > 
> > のように取得すると、ClasCastExceptionが出てしまいます。
> > 
> > DIされる前のクラスを指定して、DIされたクラスが帰ってきて、実はDI前のクラスじゃないから
> > エラーになっているような感じです。
> > 
> > まぁそういうクラスはHOT DEPLOYパッケージへ移動すればいいのですが、
> > コンポーネント名が変わってしまったりするので、いろいろ大変なのです。
> > 
> > 何か避ける方法はありませんか?
> 
> 現状だと残念ながらありません。
> 
> HOTコンポーネントからHOTじゃないコンポーネントは参照できますが、
> その逆はできません。
> 
> なぜならHOTなコンポーネントはリクエストのたびに
> 違うクラスになっているためです。
> 
> もうちょっと(?しばらく先かも)するとAutoRegisterしたクラスも
> diconに登録したクラスもすべてHOTで扱えるようになるはずなので、
> HOTとHOT以外で悩むこともなくなるかも。
> 
> Yasuo Higa
> The Seasar Project
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user




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