[Seasar-user:9699] setterインジェクションでDIされるケースとされないケースがある

Taro Unno [E-MAIL ADDRESS DELETED]
2007年 8月 6日 (月) 16:33:08 JST


海野です。
いつもお世話になっております。

setterインジェクションしているPageクラスのプロパティが
インジェクションされるケースとされないケースがあり、
現象が切り分けられず困っております。

インジェクションされないケースでは、APサーバ(Tomcat)起動後、
初めてそのPageクラスを呼び出す場合だけインジェクションされず、
プロパティがnullになっています。

setterメソッドにデバッグポイントを張ると、
インジェクションされるケースでは初めての呼び出しでsetterが呼ばれるのに対し、
インジェクションされないケースでは初めての呼び出しでsetterが呼ばれない
という状態です。

クラス構成は

web.include.AaaPage
web.xxx.XxxPage
web.yyy.YyyPage

としてあり、XxxPageとYyyPageクラスに、それぞれ

    private AaaPage aaaPage;

    public void setAaaPage(AaaPage aaaPage){
        this.aaaPage = aaaPage;
    }

としています。
このsetterメソッドが、

    XxxPageでは必ず呼ばれる
    YyyPageでは、APサーバ(Tomcat)起動後初めての場合だけ呼ばれない

という状態なのですが、なぜ呼ばれないのか原因をつきとめる方法がわかりません。
CoolDeployで起動時のログには、XxxPageとYyyPageクラスの両方とも
コンポーネント定義が登録されている旨のログが出力されています。


原因の切り分け方、調査方法、回避策など
ご存知の方、何卒宜しくお願いします。



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