SpringにおけるCron式の使用方法


  1. @Scheduledアノテーションを使用する方法: Springでは、@Scheduledアノテーションを使用してCron式に基づいてタスクをスケジュールすることができます。以下は、@Scheduledアノテーションを使用してタスクを1分ごとに実行する例です。
import org.springframework.scheduling.annotation.Scheduled;
@Scheduled(cron = "0 * * * * *")
public void scheduledTask() {
    // タスクの実行内容
}
  1. XML設定ファイルを使用する方法: SpringのXML設定ファイルを使用して、Cron式に基づいてタスクをスケジュールすることもできます。以下は、XML設定ファイルを使用してタスクを毎日午前8時に実行する例です。
<bean id="myTask" class="com.example.MyTask">
    <property name="cronExpression" value="0 0 8 * * ?" />
</bean>
<bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
        <list>
            <ref bean="cronTrigger" />
        </list>
    </property>
</bean>
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
    <property name="cronExpression" value="${myTask.cronExpression}" />
</bean>
  1. コードでCronTriggerを使用する方法: SpringのCronTriggerクラスを使用して、Cron式に基づいてタスクをスケジュールすることもできます。以下は、CronTriggerを使用してタスクを毎週月曜日の午前9時に実行する例です。
import org.springframework.scheduling.support.CronTrigger;
CronTrigger cronTrigger = new CronTrigger("0 0 9 ? * MON");
scheduler.schedule(task, cronTrigger);

以上の方法を使用することで、SpringにおいてCron式を使ったタスクのスケジュールが可能です。必要に応じてCron式を調整し、実行頻度や実行時刻をカスタマイズすることができます。