[Seasar-user:7537] Re: SMART deploy と app.dicon でのコンポーネントについて
o.h.
[E-MAIL ADDRESS DELETED]
2007年 5月 8日 (火) 13:03:20 JST
長谷川です.
なんとなくですが、発生の条件がしぼりこめてきました.
S2TestCase を使用してテストを行っているのですが、対象のテスト
クラスに
private COMTableDao dao; // <- TooManyRegistration となる Dao
private Hoge hoge; // <- COMTableDao の setter あり
といった形になっていると例外となるようです.
// private COMTableDao dao;
のように COMTableDao をコメントアウトすると動作しました.
#相変わらず "COMTableDao のコンポーネント定義を登録します"
#というメッセージは複数回出力されていますが
以上.
o.h. wrote:
> 長谷川です.
>
> Koichi Kobayashi wrote:
>>> 実際のクラス名は COMTableDao となっています.ですので
>> すると,その Dao を受け取る setter の名前は
>> どうなってますか?
>>
>> setCOMTableDao(COMTableDao) なら正しいですが,
>> setComTableDao(COMTableDao) 等になっているものが
>> ないでしょうか?
>>
>
> 以下のようにしています.
>
> public void setDao(COMTableDao dao) {
> this.dao = dao;
> }
>
> また、以下のように修正しても同様の状況です.
>
> public void setCOMTableDao(COMTableDao dao) {
> this.dao = dao;
> }
>
>>> 使用しているライブラリは
>>> ・s2-framework-2.4.12.jar
>>> ・s2-tiger-2.4.12.jar
>>> ・s2-dao-1.0.42.jar
>>> ・s2-dao-tiger-1.0.42.jar
>>> となっています.
>> だとすると,
>>
>> 指定されたコンポーネント名({0})はクラス({1})のコンポーネント名({2})とマッチしません (大文字・小文字の違いに注意してください)
>>
>> のようなメッセージが表示されていないでしょうか?
>> メッセージは警告レベル (WSSR0011) です.
>>
>
> メッセージは出力されていないようです.
> #log4j 側では DEBUG に指定しています
>
> ただ
>
> public void setComTableDao(COMTableDao dao) {
> this.dao = dao;
> }
>
> とした場合でもメッセージが出力されていないため
> 何か勘違いしているのかもしれません
>
> 以上.
--
_/_/
_/_/ mailto: [E-MAIL ADDRESS DELETED]
_/_/ (deprecated: [E-MAIL ADDRESS DELETED])
_/_/
Seasar-user メーリングリストの案内