[Seasar-user:19875] Re: COOL DEPLOYで親子関係にあるクラスの親が DI されないパターン?

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2010年 6月 18日 (金) 16:00:28 JST


小林 (koichik) です.

Date:    Fri, 18 Jun 2010 15:35:52 +0900
From:    江川直峰 <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:19874] Re: COOL DEPLOYで親子関係にあるクラスの親が DI されないパターン?

>  試していませんが、1つのリクエストで親と子を両方 DI しようとしたらやは
> り同じ問題に遭遇するのでしょうか。

親と子のどちらが先に自動登録されるかで
挙動が異なることになります.
例えば

public ParentService parentService;
public ChildService childService;

の順になっている場合はうまく動いてしまう
はずですが,

public ChildService childService;
public ParentService parentService;

の場合は parentService にも childService と
同じインスタンスが設定されるはずです.

ChildService は ParentService でもあるため,
ChildService が先に自動登録されると
ParentService はもう自動登録されず,
ChildService がそのまま DI されることに
なるからです.

いずれにせよ,TooManyRegistration〜 は
発生せず,COOL と同じ挙動にはなりませんね.


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