第二十七节 Spring Boot集成Quartz

亮子 2024-09-20 12:54:00 1302 0 0 0

下面是一个简单的Spring Boot集成Quartz的代码示例:

1. 添加依赖(在pom.xml中):

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-quartz</artifactId>
</dependency>

2. 创建一个Job

   import org.quartz.Job;
   import org.quartz.JobExecutionContext;
   import org.quartz.JobExecutionException;

   public class MyJob implements Job {
       @Override
       public void execute(JobExecutionContext context) throws JobExecutionException {
           System.out.println("Executing MyJob at " + System.currentTimeMillis());
       }
   }

3. 配置Quartz

   import org.quartz.JobBuilder;
   import org.quartz.JobDetail;
   import org.quartz.Trigger;
   import org.quartz.TriggerBuilder;
   import org.quartz.CronScheduleBuilder;
   import org.springframework.context.annotation.Bean;
   import org.springframework.context.annotation.Configuration;

   @Configuration
   public class QuartzConfig {
       @Bean
       public JobDetail myJobDetail() {
           return JobBuilder.newJob(MyJob.class)
                   .withIdentity("myJob")
                   .storeDurably()
                   .build();
       }

       @Bean
       public Trigger myJobTrigger() {
           return TriggerBuilder.newTrigger()
                   .forJob(myJobDetail())
                   .withIdentity("myJobTrigger")
                   .withSchedule(CronScheduleBuilder.cronSchedule("0/5 * * * * ?")) // 每5秒执行一次
                   .build();
       }
   }

4. 启动应用

在你的Spring Boot应用启动类中,Quartz会自动开始调度。

这样,你就可以在Spring Boot中成功集成Quartz并定期执行任务了!如果需要深入了解某个部分,请告诉我。