[Seasar-user:7599] [Teeda][Dolteng] Cool Deployに切り替えるとAjaxコンポーネント使用時にエラーが発生します

Satoshi Takei [E-MAIL ADDRESS DELETED]
2007年 5月 11日 (金) 18:23:38 JST


武居です。

Hot DeployからCool Deployへ切り替えると、
Daoを使用しているAjaxコンポーネント(ajax.diconに登録)を使用する際に
エラーが発生します。

ajax.diconは以下のようになっています。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
"http://www.seasar.org/dtd/components24.dtd">
<components>

<component name="empAjax" class="hoge.web.ajax.EmpAjax" instance="request">
<meta name="teeda-ajax"/>
<property name="empDao">empDao</property>
</component>

</components>

empDaoを使用するコンポーネントです。

ajax.diconを有効にするために、app.diconへ行を追加しました。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
"http://www.seasar.org/dtd/components24.dtd">
<components>
<include path="convention.dicon"/>
<include path="aop.dicon"/>
<include path="app_aop.dicon"/>
<include path="teedaExtension.dicon"/>
<include path="dao.dicon"/>
<include path="dxo.dicon"/>
<include path="ajax.dicon"/> ←この行を追加
</components>

発生するエラーは以下の通りです。

2007-05-11 18:08:40,546 [http-8080-Processor25] ERROR
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/hoge_ajax].[ajaxServlet]
- サーブレット ajaxServlet のServlet.service()が例外を投げました
org.seasar.framework.beans.IllegalPropertyRuntimeException: [ESSR0059]ク
ラス(hoge.web.ajax.EmpAjax)のプロパティ(empDao)の設定に失敗しました。理
由は org.seasar.framework.exception.OgnlRuntimeException: [ESSR0073]OGNL
で例外が発生しました。理由は[ESSR0046]コンポーネント(empDao)が見つかりま
せん at file:///C:/home/java/lib/apache-tomcat-5.5.23/ajax.dicon(8)
at
org.seasar.framework.container.assembler.AbstractBindingTypeDef.getValue(AbstractBindingTypeDef.java:206)
...以下略...

設定ファイルは上記の追加、修正を除き、
chura project精製時にDolten 0.18.2が出力した
ものをそのまま使用しています。

ログを見ると、
...略...
DEBUG 2007-05-11 18:08:00,078 [main] S2Containerを作成します。path=
ajax.dicon
DEBUG 2007-05-11 18:08:00,093 [main] S2Containerを作成しました。path=
ajax.dicon
...略...
DEBUG 2007-05-11 18:08:00,359 [main] S2Containerを作成しました。path=
cooldeploy-autoregister.dicon
DEBUG 2007-05-11 18:08:03,359 [main] クラス(hoge.dao.EmpDao[empDao])のコ
ンポーネント定義を登録します
が出力されており、
empDaoはコンテナに登録されているようです。

Cool Deploy時には他にも設定が必要なのでしょうか?

以上、よろしくお願いします。

-- 
武居聡([E-MAIL ADDRESS DELETED])




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