[Seasar-user:11907] Re: [Teeda]public transient xxClass xxField;
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2007年 12月 5日 (水) 04:00:14 JST
小林 (koichik) です.
Date: Wed, 05 Dec 2007 02:02:19 +0900
From: "TAKEUCHI Shinichi / 竹内 伸一" <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:11906] Re: [Teeda]public transient xxClass xxField;
> 1)PageClass の共通の親クラスに パブリックフィールドがあり
> そこにはSerializableなObjectが入る
[Seasar-user:11011] では「Serializableでない」との
ことだったので辻褄が合わないと思っていたのですが,
Serializable だったのですね.それなら納得です.
> 2)上記のObjectはHelperであり、S2がDIしてくれるもの
> 3)HelperにはCustomizerが設定されておりS2がEnhanceしている
> 参考:cutomizer.dicon に(A)の指定あり
> 4)HotDeployで動作(env.txt が ut)
> 5)同じ親クラスを継承する別のPageに遷移
>
> メカニズムも考察してみましたが、あっているでしょうか?
はい.
> ■対策として想定されること
> HelperなどのEnhanceされる可能性のあるものはSerializable不可とするか、
それがいいと思います.
> パブリックはやめてSetterだけを作成する形にする
Teeda 1.0.12 からは public field でも transient を
付けると引き継がないようになります.
> EntityやDTOなどもSerializableにしてPageにくっつけた場合に、Customizer
> やAOPの直接指定でEnhanceされた場合に同じ現象が発生するような気がしますが
> どんなもんでしょうか?
Entity や DTO に AOP を適用する必要がないと思います.
Entity は Serializable にする必要もないと思います.
--
<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 メーリングリストの案内