[Seasar-user:10023] Re: [teeda] バッチ処理のdiconファイル定義
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2007年 8月 22日 (水) 15:30:05 JST
小林 (koichik) です.
Date: Wed, 22 Aug 2007 11:24:31 +0900
From: 松山 大樹 <[E-MAIL ADDRESS DELETED]>
To: <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:10015] [teeda] バッチ処理のdiconファイル定義
> とりあえず、app.dicon をコピーして、teedaExtension.dicon を除いた
> dicon ファイルを、
>
> <components>
> <include path="convention.dicon"/>
> <include path="aop.dicon"/>
> <include path="app_aop.dicon"/>
> <include path="dao.dicon"/>
> <include path="dxo.dicon"/>
> <!-- 共通jarファイル用 -->
> <component class="org.seasar.framework.container.autoregister.JarComponentAutoRegister">
> <property name="jarFileNames">"HogeCommons"</property>
> <property name="instanceDef">@[E-MAIL ADDRESS DELETED]</property>
> <initMethod name="addClassPattern">
> <arg>"jp.co.hoge"</arg>
> <arg>".*Impl,.*Logic"</arg>
> </initMethod>
> </component>
> </components>
Web アプリの方が SMART deploy を使っているなら,
バッチでも SMART deploy を使うのがいいと思います.
実際には WARM deploy を使うのがオススメです.
なお,creator.dicon からは pageCreator など
不要な Creator は削除してください.
# creator.dicon は共用できないと思います.
> Exception in thread "main" java.lang.UnsupportedOperationException: createRequestComponentDeployer
> at org.seasar.framework.container.deployer.ComponentDeployerFactory$DefaultProvider.createRequestComponentDeployer(ComponentDeployerFactory.java:191)
> at org.seasar.framework.container.deployer.ComponentDeployerFactory.createRequestComponentDeployer(ComponentDeployerFactory.java:100)
>
> という例外になります。
リクエストスコープのコンポーネントはコンテナの
初期化時に外部コンテキストを設定しないと利用
できません.
とはいえ,問題は外部コンテキストが無いことではなく,
バッチでリクエストスコープのコンポーネントが
取得されていることだと思います.
メッセージが不親切で申し訳ないですが,デバッガを
使うなどして取得されているコンポーネントが何か
確認して,それが使用されないようにするか,その
コンポーネントのインスタンス属性を見直してください.
--
<signature>
<name>Koichi Kobayashi</name>
<e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
</signature>
Seasar-user メーリングリストの案内