スケジューラーファクトリービーン設定
SchedulerFactoryBean の設定は、以下の手順で行います。
必要な依存関係のインポート:関連するクラスやアノテーションを使用するために、spring-context-supportとquartzの依存関係がプロジェクトのビルドファイルにインポートされていることを確認します。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>5.3.10</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.2</version>
</dependency>
Spring XML設定ファイル中にSchedulerFactoryBeanのBean定義を追加
<bean id="schedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<!– 配置数据源 –>
<property name=”dataSource” ref=”dataSource” />
<!– 配置任务调度器的属性 –>
<property name=”quartzProperties”>
<props>
<prop key=”org.quartz.scheduler.instanceName”>MyScheduler</prop>
<prop key=”org.quartz.scheduler.instanceId”>AUTO</prop>
<prop key=”org.quartz.scheduler.skipUpdateCheck”>true</prop>
<!– 其他属性配置 –>
</props>
</property>
<!– 配置触发器和任务 –>
<property name=”triggers”>
<list>
<!– 配置触发器和相关任务 –>
<ref bean=”myTrigger” />
</list>
</property>
</bean>
トリガーと関数の設定: トリガーを定義し、それに関連付けられた関数を定義する。
<bean id="myTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name=”cronExpression” value=”0 0/5 * * * ?” />
</bean>
<bean id=”myJob” class=”com.example.MyJob” />
<bean id=”myJobDetail” class=”org.springframework.scheduling.quartz.JobDetailFactoryBean”>
<property name=”jobClass” value=”com.example.MyJob” />
</bean>
上記のサンプルでは、5分に一度MyJobタスクが発火するトリガーとして、Cron式を0 0/5 * * * ?に設定しています。
4. ジョブクラスの作成: org.quartz.Jobインターフェイスを継承するジョブクラス(例: com.example.MyJob)を作成します。
public class MyJob implements Job {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
// 执行任务逻辑
System.out.println(“Hello, World!”);
}
}
スケジューリングされたタスクを設定するための基本的なステップは以上です。実際のニーズに基づいて、SchedulerFactoryBeanのプロパティ、トリガーのスケジュール規則、タスクの実行ロジックをカスタマイズできます。