[Seasar-user:13638] Re: Teeda のDaoクラスのDIについて
小川昌幸
[E-MAIL ADDRESS DELETED]
2008年 4月 8日 (火) 16:54:09 JST
小林様
回答ありがとうございます。
いろいろ試したのですが、DaoをDIするのに
ReceptionDao receptiondao = (ReceptionDao)
SingletonS2Container.getComponent("receptionDao");
でdaoをDIする事は出来ました。
他のapp.diconに<component>を登録する。
名前をServiceに変更するは出来ませんでした。
申し訳ありませんが、もう1度質問させて下さい。(具体的に書かせていただきます)
前提条件、
churaプロジェクトでの開発(teeda-1.0.12.sp1)
メールを定期的に送信するロジックを作成(MailService.java)
system.web.mailパッケージにMailService.javaを配置
この呼び出しはs2-quartz-0.0.2を利用してMailServiceのメソッド(doProcess)を10秒毎に呼んでいる。
quartzの設定はcustomizer.diconに定義
↓↓↓↓↓↓↓
<component class="org.quartz.impl.StdSchedulerFactory" />
<component class="org.seasar.quartz.SchedulerImpl">
<initMethod name="start" />
<initMethod name="scheduleJob">
<arg>
<component class="org.seasar.quartz.MethodInvokerJobDetail">
<property name="name">"incrementCounterJob"</property>
<property name="component">counterService</property>
<property name="method">"doProcess"</property>
</component>
</arg>
<arg>
<component class="org.seasar.quartz.CronTrigger">
<property name="name">"incrementCounterTrigger"</property>
<property name="cronExpression">"0/10 * * ? * *"</property>
</component>
</arg>
</initMethod>
<destroyMethod name="shutdown" />
</component>
<component class="system.web.mail.MailService" name="counterService" />
MailService.javaに
public class SendinfoMail {
private MailmagainfDao mailmagadao;
private CustmmstDao custmmstdao;
とsystem.dao配下のdaoファイルを定義(getter,setterも定義してあります)
そこで、quartzからdoProcessメソッドが呼ばれ、各daoを使おうとすると
NullPointerでエラーとなります。
また、
app.diconに
<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"/>
<component class="system.web.mail.MailService">
</component>
</components>
のように定義してみましたが、どうもdaoがDIされません。
どこか、他に修正箇所があるのでしょうか?
よろしくお願い致します。
08/04/08 に Koichi Kobayashi <[E-MAIL ADDRESS DELETED]> さんは書きました:
>
> 小林 (koichik) です.
>
> Date: Tue, 08 Apr 2008 14:48:42 +0900
> From: Yasuo Higa <[E-MAIL ADDRESS DELETED]>
>
> To: [E-MAIL ADDRESS DELETED]
>
> Subject: [Seasar-user:13631] Re: Teeda のDaoクラスのDIについて
>
> > 単にtetedoingをTeteServiceにリネームすればいいことです。
>
> tetedoing は Thread を持ってる (あるいは
> Thread のサブクラス?) らしいので Service に
> しない方がいいような.
>
>
>
> --
> <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 mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: http://ml.seasar.org/archives/seasar-user/attachments/20080408/efb99efb/attachment-0001.html
Seasar-user メーリングリストの案内