[Seasar-user:10725] Re: [Teeda] 1.0.11-RC2 HOT deploy時 TakeOver.EXCLUDEを使うとNotSerializableExceptionが発生

Shinpei Ohtani [E-MAIL ADDRESS DELETED]
2007年 9月 26日 (水) 09:07:59 JST


大谷です.

加藤さんの問題と若干かぶるのですが、
TakeOverのときの引き継げる項目かどうかのチェック(簡単にいうと
Serializableかどうかのチェック)がTODO送りになっていたので
次のバージョンでは修正しておきます.


07/09/25 に Junichi Kato<[E-MAIL ADDRESS DELETED]> さんは書きました:
> 小林さん,
> 加藤です.
>
> On Tue, 25 Sep 2007 19:00:30 +0900
> Koichi Kobayashi <[E-MAIL ADDRESS DELETED]> wrote:
>
> > 小林 (koichik) です.
> >
> > Date:    Tue, 25 Sep 2007 17:33:26 +0900
> > From:    Junichi Kato <[E-MAIL ADDRESS DELETED]>
> > To:       [E-MAIL ADDRESS DELETED]
> > Subject: [Seasar-user:10717] [Teeda] 1.0.11-RC2 HOT deploy時 TakeOver.EXCLUDEを使うとNotSerializableExceptionが発生
> >
> > > Teeda 1.0.11-RC2(SNAPSHOTではない)で,HOT deploy時に,
> > > TakeOver.EXCLUDEを使うとNotSerializableExceptionが発生します.
> > > COOL deployでは問題が発生しませんし,TakeOver.INCLUDEでも発生しません.
> >
> > UserCreditCardBhv も EXCLUDE に含めてください.
> > そうしないと,UserCreditCardBhv を次画面に
> > 引き継ごうとしてセッションに保持してしまいます.
> >
> > HOT deploy ではリクエストをまたがると
> > クラスローダが異なることに対応するため,
> > セッションからオブジェクトを取得する際に
> > シリアライズ・デシリアライズを行って,
> > 現在のクラスローダでロードされたクラスの
> > インスタンスに変換を行います.
> > そのため,セッションに格納されるオブジェクトが
> > Serializable を実装していないとすぐに例外に
> > つながります.
> >
> > COOL の場合にはこのような現象は起きにくくなりますが,
> > Web コンテナが (メモリ不足等で) セッション情報を
> > 外部化する場合や,レプリケーションが使われている
> > 場合などは,同じように発生するはずです.
> >
> > セッションに保持されるオブジェクトは必ず
> > Serializable にしてください.
> > Serializable でないオブジェクトはセッションに
> > 保持されないようにしてください.
> >
> > 具体的には,Page に Dao や Dxo,Bhv 等々のフィールドを
> > 持つ場合はそれらのフィールドを transient にして,
> > SubApplicationScope や RedirectScope は付けない,
> > TakeOver を使う場合は INCLUDE に含めない,EXCLUDE には
> > 含める,を徹底してください.
>
> なるほど.よくわかりました.気をつけるようにします.
> ありがとうございました.
>
> >
> > > 発生するタイミングは,以下のdoメソッドを抜けた後に発生しています.
> > > また,UserCreditCardBhvは,当該ページクラスでフィールドとして
> > > 保持しています.
> >
> > スタックトレースと説明があってないような?
> > 次画面の表示が始まってから発生してるように
> > 見えます.
>
> あー,そうでした.すみません.
>
> >
> >
> > --
> > <signature>
> >    <name>Koichi Kobayashi</name>
> >    <e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
> > </signature>
> >
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
>
> ───────────────────────────────
>  株式会社 グランテック
>  代表取締役社長
>  加藤 潤一 Junichi Kato
>
> 〒154-0012
> 東京都世田谷区駒沢2-16-1 サンドー駒沢ビル4F
> TEL 050-5538-2383  FAX 03-3487-7211
> HP : http://www.grandtech.jp/
> BLOG : http://d.hatena.ne.jp/j5ik2o/
> E-MAIL : [E-MAIL ADDRESS DELETED]
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>


-- 
=============================
Shinpei Ohtani
[E-MAIL ADDRESS DELETED]
=============================



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