[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 メーリングリストの案内