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はSeleniumOpenQAとクリソツ。同じCMS使ってるんだなーと思っていたら、開発メンバ(というかSteering Committee)にSeleniumでもおなじみ(?)のPatrick Lightbodyさんがいてビックリ(笑)