[Seasar-user:12975] Re: SMART Deployのクリエータで生成されるコンポーネントのインスタンス属性について

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2008年 2月 20日 (水) 20:30:29 JST


小林 (koichik) です.

Date:    Wed, 20 Feb 2008 17:38:14 +0900
From:    "Tatsuharu Kawakami" <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:12971] SMART Deployのクリエータで生成されるコンポーネントのインスタンス属性について

> しかし、SMART Deployのクリエータで作成されるコンポーネントのインスタンス属性はprototypeとなっています。
> 
> なぜprototypeなのか教えてください。

HOT deploy と singleton の相性がよくないからです.
相性が悪いというほどでもないのですが,HOT deploy では
リクエストごとにクラスローダを作成し直すため,
たとえ singleton でもリクエストごとに新たにクラスが
ロードされ,そのインスタンスが作成されます.

そのため,singleton だと思いこんでいると
びっくりすることになりやすいだろうということで
prototype になっています.


-- 
<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 メーリングリストの案内