springboot はクォーツプロセスを統合

Spring Boot と Quartz を組み合わせて使用​​することで、タスクのスケジューリングやスケジュールされたタスク機能を実現できます。Spring Boot と Quartz のプロセスは次のとおりです。

  1. 依存関係の追加: Quartz の依存関係をSpring Boot プロジェクトファイルpom.xmlに追加します。
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
  1. ジョブ クラスの作成:org.quartz.Jobインターフェイスを実装し、特定のタスク ロジックを定義するジョブ クラスを作成します。
public class MyJob implements Job {
    
    
    @Override
    public void execute(JobExecutionContext context) throws JobExecutionException {
    
    
        // 在这里编写具体的任务逻辑
        System.out.println("执行定时任务");
    }
}
  1. JobDetail の作成: org.quartz.JobDetailJob のインスタンスを定義するオブジェクトを作成します。
JobDetail jobDetail = JobBuilder.newJob(MyJob.class)
    .withIdentity("myJob")
    .build();
  1. トリガーの作成:org.quartz.Triggerオブジェクトを作成してトリガーのルールを定義します。
Trigger trigger = TriggerBuilder.newTrigger()
    .withIdentity("myTrigger")
    .withSchedule(CronScheduleBuilder.cronSchedule("0/5 * * * * ?")) // 每隔5秒执行一次
    .build();
  1. SchedulerFactoryBean の作成: org.springframework.scheduling.quartz.SchedulerFactoryBeanQuartz のスケジューラを構成するオブジェクトを作成します。
@Bean
public SchedulerFactoryBean schedulerFactoryBean() {
    
    
    SchedulerFactoryBean schedulerFactoryBean = new SchedulerFactoryBean();
    schedulerFactoryBean.setTriggers(trigger);
    schedulerFactoryBean.setJobDetails(jobDetail);
    return schedulerFactoryBean;
}
  1. アプリケーションの起動: Spring Boot エントリ クラスで、@EnableSchedulingアノテーションを使用してタスク スケジューリング機能を有効にし、Spring Boot アプリケーションを実行します。
@SpringBootApplication
@EnableScheduling
public class Application {
    
    
    public static void main(String[] args) {
    
    
        SpringApplication.run(Application.class, args);
    }
}
  1. スケジュールされたタスクを構成する: タスクのスケジュールされた実行を必要とするメソッドにアノテーションを追加し@Scheduled、トリガー ルールを指定します。
@Component
public class MyScheduledTask {
    
    
    @Scheduled(cron = "0/10 * * * * ?") // 每隔10秒执行一次
    public void runTask() {
    
    
        // 执行定时任务的逻辑
        System.out.println("执行定时任务");
    }
}

Job、Trigger、SchedulerFactoryBean を設定し、@Scheduledアノテーションを使用することで、タスクのスケジュール機能や時間指定タスク機能を簡単に実装できます。

おすすめ

転載: blog.csdn.net/kkwyting/article/details/133494606