Quartz - OSSのJ2EEジョブスケジューラ
Springと連携させて、定期的にあるクラスのメソッドを実行できたりするジョブスケジューラ。
application-context.xmlにこんな感じで記述する(みたい)。cronライクに時間を指定できる。
<!-- 定期的にメールのチェックを行う --> <bean id="checkMail_Batch" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"> <ref bean="CheckMailOperation"/> </property> <property name="targetMethod"> <value>chkMail</value> </property> </bean> <bean id="checkMail_CronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="checkMail_Batch"/> <!-- 毎分0秒と30秒に起動 --> <property name="cronExpression" value="0,30 * * * * ?"/> </bean> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="checkMail_CronTrigger"/> </list> </property> </bean>
Quartz Enterprise Job Scheduler API (1.6.0)
時間指定の関連クラスはCronExpression、CronTrigger あたり。
全くの余談だけど、開発コミュニティのOpenSymphonyのHPはSeleniumのOpenQAとクリソツ。同じCMS使ってるんだなーと思っていたら、開発メンバ(というかSteering Committee)にSeleniumでもおなじみ(?)のPatrick Lightbodyさんがいてビックリ(笑)