[Seasar-user:10210] Re: SMART deploy ルートパッケージを複数登録した場合の問題
溝口
[E-MAIL ADDRESS DELETED]
2007年 8月 30日 (木) 06:20:37 JST
小林さんへ、お世話になります。
溝口です。
今日、もう一度、確認してみます。今日の夜、また、状況を確認して
返事をします。
よろしくお願いします。
07/08/30 に Koichi Kobayashi<[E-MAIL ADDRESS DELETED]> さんは書きました:
> 小林 (koichik) です.
>
> Date: Wed, 29 Aug 2007 23:58:19 +0900
> From: "溝口" <[E-MAIL ADDRESS DELETED]>
> To: [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:10198] SMART deploy ルートパッケージを複数登録した場合の問題
>
> > SMART deployを使用し、ルートパッケージを複数登録した場合に、
> > 同じ名前のインタフェイスを複数登録したいのですが、この際に、
> > 先に登録したルートパッケージに存在するコンポーネントを取得すると、
> > 正しく、先に登録したルートパッケージに存在するインタフェイスが
> > 返ってきます。
> > しかし、後で登録したルートパッケージに存在するコンポーネントを
> > 取得すると、先に登録したルートパッケージに存在する、インタフェイス
> > が返ってきてしまいます。
>
> 「取得すると」の意味がよく分からないのですが,
> S2 の DI のことでしょうか?
> DI といっても自動バインディングなのか
> dicon ファイルに <property> 要素で指定を
> しているのか,どちらでしょうか?
>
> http://d.hatena.ne.jp/MIZOMIZO/20070828#1188302689
>
> のスタックトレースを見る限りだと,
>
> at org.seasar.framework.container.assembler.AbstractBindingTypeDef.setValue(AbstractBindingTypeDef.java:308)
>
> 自動バインディングでここに来ることは考えにくい
> (この一つ下が 210 行目なら自動バインディング,
> 127 行目ならマニュアル) ので,
>
> <property name="schemaVersionDao">schemaVersionDao</property>
>
> のようになっているんじゃないかと思われますが,
> これだとコンポーネントを名前で探すことになるので,
> 適切に DI することはできないと思います.
> # あるいはプロパティに @Binding アノテーション
> # または定数アノテーションを指定しているか.
>
>
> > 当初、SMART deployを使用せず、ComponentAutoRegisterを使用していたのですが、
> > クライアントのSWINGアプリの起動時間がかかるため、WARM deployを使おうと
> > 考えまし。
> 略
> > インタフェイス名を変更しなければならないでしょうか。それとも、なにか設定方法が
> > 有りましたら、ご教示ください。
>
> 自動バインディングであれば,型でコンポーネントを
> 探すことができるので問題ないはずです.
> # 試していませんが.
>
> ただし,インタフェース名 (正確にはプロパティの
> 型名) は規約に従っている必要があります.
>
> インタフェースの名前が規約に従っていれば,
> 最初にプロパティの型でコンポーネントを探しに
> いくので,コンポーネント定義が作成されて
> 自動登録されます.
>
> しかし,インタフェース名が規約に従っていないと
> プロパティ名からコンポーネント定義を作成することに
> なり,最初のルートパッケージで見つかるクラスしか
> 自動登録されなくなります.
> この場合,最初のルートパッケージ以外は
> 型が合わないので DI されません.
>
> そんなわけで (どんなわけで?),ルートパッケージ毎に
> インタフェース名を変える必要はないと思いますが,
> インタフェース名は規約に合っている必要があります.
>
>
> --
> <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 mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
Seasar-user メーリングリストの案内