[Seasar-user:9530] Re: FileSystemComponentAutoRegister と ComponentAutoRegister
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2007年 7月 30日 (月) 05:00:08 JST
小林 (koichik) です.
Date: Sat, 28 Jul 2007 11:31:09 +0900 (JST)
From: Nishioka Naoto <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:9524] FileSystemComponentAutoRegister と ComponentAutoRegister
> ただ、これだとjarファイルに対しては適用できないため、
> class/jarを意識することなく処理できるComponentAutoRegisterに
> 切り替えたところ、あるところでの登録分のみ
> コンポーネントの取得を行えなくなってしまいました。
もう少し詳細な情報をお願いします.
「あるところ」というのは,ComponentAutoRegister で
登録するコンポーネント群の一部なのか,それとも
複数定義している ComponentAutoRegister の一部の
定義でのコンポーネント群全部ということなのか,
どちらでしょうか?
> ComponentNotFoundRuntimeException:
> [ESSR0046]コンポーネント(xxxxx)が見つかりません
このキー (xxxxx) はクラスですか? それとも文字列ですか?
文字列だとしたら,クラスをキーに取得することは
できますか?
> 正常にコンポーネントを取得できるところとの違いとしましては、
> AutoNamingで独自に定義したクラスを使用している点くらいなのですが、
> ComponentAutoRegisterを使用する場合は、
> FileSystem〜の場合と異なり何らかの注意すべき点があるのでしょうか?
特にないはずです.
AutoNaming に関連するコードは ComponentAutoRegister や
FileSystemComponentAutoRegister などの共通のスーパー
クラスにあり,どちらもオーバーライドしていないので
全く同じ動きになるはずです.
> (独自のAutoNamingクラスでのログからすると、コンポーネントの
> 登録処理そのものは走っているようです)
Web アプリケーションであれば,web.xml で S2ContainerServlet
(または TeedaServlet) の <init-param> で debug を true にして,
http://localhost:8080/xxx/s2servlet?command=list
または
http://localhost:8080/xxx/teedaServlet?command=list
とするとコンポーネント一覧を表示することができるので,
こちらでコンポーネントが登録されているか,コンポーネント名は
意図したとおりになっているか確認してください.
--
<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 メーリングリストの案内