SpringBoot整合Quartz定时任务(持久化到数据库)_spring boot集成quartz并将数据持久化到数据库
    		       		warning:
    		            这篇文章距离上次修改已过417天,其中的内容可能已经有所变动。
    		        
        		                
                
import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.quartz.SchedulerFactoryBean;
 
@Configuration
public class QuartzConfig {
 
    @Bean
    public JobDetail sampleJobDetail() {
        return JobBuilder.newJob(SampleJob.class)
                .withIdentity("sampleJob")
                .usingJobData("name", "World")
                .storeDurably()
                .build();
    }
 
    @Bean
    public Trigger sampleJobTrigger() {
        return TriggerBuilder.newTrigger()
                .forJob(sampleJobDetail())
                .withIdentity("sampleTrigger")
                .startNow()
                .withSchedule(simpleSchedule()
                        .withIntervalInSeconds(10)
                        .repeatForever())
                .build();
    }
 
    @Bean
    public SchedulerFactoryBean schedulerFactoryBean(Trigger sampleJobTrigger) {
        SchedulerFactoryBean schedulerFactoryBean = new SchedulerFactoryBean();
        schedulerFactoryBean.setTriggers(sampleJobTrigger);
        return schedulerFactoryBean;
    }
}
 
public class SampleJob implements org.quartz.Job {
    @Override
    public void execute(JobExecutionContext context) {
        // 任务逻辑
        JobKey key = context.getJobDetail().getKey();
        String name = context.getJobDetail().getJobDataMap().getString("name");
        System.out.println("SampleJob says: Hello " + name + "! Executing job: " + key + " executing at " + new Date());
    }
}这个代码示例展示了如何在Spring Boot应用程序中配置Quartz定时任务。首先,创建了一个JobDetail实例,指定了要执行的任务类SampleJob,并为任务提供了一些初始化数据。接着,创建了一个触发器,用于设置任务的执行策略,例如何时开始以及执行的频率。最后,配置了SchedulerFactoryBean,用于管理Quartz的调度器。这个例子简单明了,并且展示了如何将Quartz整合到Spring Boot项目中。
评论已关闭