[Seasar-user:7941] Re: SMART deploy で instanceDef を変更するには

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 5月 30日 (水) 20:00:35 JST


小林 (koichik) です.

すみません,見落としてました.

Date:    Tue, 29 May 2007 19:12:42 +0900
From:    "o.h." <[E-MAIL ADDRESS DELETED]>
To:       [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:7901] SMART deploy で instanceDef を変更するには

> 早速ですが、SMART deploy で登録されるコンポーネントの
> instanceDef を選択的に変更したいと考えています.
> 
> @Component アノテーションを使ってみたのですが、使い方が悪いのか
> 変更されてないようなのです.
> 
> Creator で設定している instanceDef と異なった instanceDef を
> 特定の実装クラスに適用したい場合どのようにすればいいのでしょうか.

@Component アノテーションで変更できるはずです.
具体的にどんな状況か教えていただけないでしょうか.

・コンポーネントの種類 (Page とか Dto とか)
・コンポーネントに付けたアノテーション
・実際の instanceDef の状態

等々.
実際の instanceDef の状態は,Web アプリであれば

http://localhost:8080/webapp/s2servlet?command=list
http://localhost:8080/webapp/teedaservlet?command=list  (Teeda の場合)

のようにすることでコンポーネントの状態を
確認することができます.
なお,web.xml を次のように変更する必要があります.

    <servlet>
        <servlet-name>s2servlet</servlet-name>
        <servlet-class>org.seasar.framework.container.servlet.S2ContainerServlet</servlet-class>
        <init-param>
            <param-name>configPath</param-name>
            <param-value>app.dicon</param-value>
        </init-param>
        <init-param>
            <param-name>debug</param-name>
            <param-value>true</param-value><!-- ここを true に -->
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>


あるいはテストクラスで

public void test() throws Exception {
  ComponentDef cd = getComponentDef(Hoge.class);
  System.out.println(cd.getInstanceDef());
}

のようにしてください.


--
<signature>
   <name>Koichi Kobayashi</name>
   <e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
</signature>




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