[Seasar-user:7530] Re: SMART deploy と app.dicon でのコンポーネントについて

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 5月 7日 (月) 21:45:27 JST


小林 (koichik) です.

Date:    Mon, 07 May 2007 20:09:18 +0900
From:    "o.h." <[E-MAIL ADDRESS DELETED]>
To:       [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:7528] Re: SMART deploy と app.dicon でのコンポーネントについて

> [org.seasar.framework.container.util.S2ContainerUtil] - クラス
> (test.s2.dao.SomeDao[SomeDao])のコンポーネント定義を登録します

コンポーネント名が大文字で始まる "SomeDao" に
なっているのが問題です.
SMART deploy は,JavaBeans のプロパティ名の
ルールに従い,コンポーネント名の先頭は小文字で
始まることになっています.
# 二文字目が大文字の場合は先頭も大文字

HOT/WARM deploy の場合,dicon 等に明示的に
記述したコンポーネント名の大文字・小文字が
ルールに違反していると,今回のように同じ
コンポーネントが繰り返し登録される現象に
なっていました.
dicon ファイルに

<component>
  <property name="...">SomeDao</property>
</component>

などと記述している箇所がないか,
確認していただけないでしょうか.

なお,Seasar2.4.11 では上記のように
SMART deploy のルールに従っていない名称で
要求されたコンポーネントは自動登録しないように
修正しています (警告メッセージが出ます).
おそらく Seasar2.4.10 以前をお使いだと
思いますが,可能であれば最新版でお試しください.


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




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