- PR -

【Seasar】自動登録したはずのコンポーネントが取得出来ない

1
投稿者投稿内容
NVL
常連さん
会議室デビュー日: 2006/04/03
投稿数: 45
投稿日時: 2007-12-24 21:21
いつもお世話になっております。

Seasar2(3.23)で開発しております。
コンポーネントの自動登録を行いたいのですが、登録されているはずの
コンポーネントが取得できずに困っております。
下にdiconファイルとJavaソースにあるように、パッケージinvoke内のTest.javaの
コンポーネントを取得したいのですが、「invoke.Testは見つからない」と言われます。
何か間違っている点、怪しい点がございましたら、どうかご指摘ください。


[----diconファイル記述----]
<component class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister">
<initMethod name="addClassPattern">
<arg>"invoke"</arg>
<arg>".*"</arg>
</initMethod>
</component>

[----Javaソース記述----]
S2Container container = S2ContainerFactory.create("dicon/mydicon.dicon");
Test t = (Test)container.getComponent(Test.class);
Kazuki
ぬし
会議室デビュー日: 2004/10/13
投稿数: 298
投稿日時: 2007-12-24 22:13
たしか自動登録とか使うやつはコンテナのinitとかを呼ばないと登録処理が走らなかったと思います。
下のようなコードになります。
未コンパイルなのと、久しくSeasar2に触って無いのでメソッド名間違えてるかもしれませんが…
コード:

S2Container container = S2ContainerFactory.create(....);
try {
container.init();
Test t = (Test) container.getComponent(Test.java);
// do shomething
} finally {
container.destroy();
}




[ メッセージ編集済み 編集者: Kazuki 編集日時 2007-12-24 22:13 ]
NVL
常連さん
会議室デビュー日: 2006/04/03
投稿数: 45
投稿日時: 2007-12-24 22:40
Kazuki様
ご回答いただき、ありがとうございます。

>たしか自動登録とか使うやつはコンテナのinitとかを呼ばないと

すみません・・・。抜けておりました・・・。
コンポーネント本体やdiconファイルにばかり気を取られて、いつの間にか
消してしまったことに気が付かないでいました。

もうしばらく、この手の問題にひっかかりそうで気が重いですが、
今後ともよろしくお願いします。
1

スキルアップ/キャリアアップ(JOB@IT)