在Spring Boot中使用Spring Quartz,你需要遵循以下步驟:
pom.xml
文件中添加Spring Boot和Quartz的依賴。例如:<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
@Configuration
public class QuartzConfig {
@Bean
public JobDetailFactoryBean jobDetail() {
JobDetailFactoryBean factoryBean = new JobDetailFactoryBean();
factoryBean.setJobClass(MyJob.class); // 指定你的作業(yè)類
factoryBean.setDurability(true);
return factoryBean;
}
@Bean
public CronTriggerFactoryBean cronTrigger(JobDetail jobDetail) {
CronTriggerFactoryBean factoryBean = new CronTriggerFactoryBean();
factoryBean.setJobDetail(jobDetail);
factoryBean.setCronExpression("0/5 * * * * ?"); // 設(shè)置Cron表達式,指定作業(yè)的執(zhí)行時間
return factoryBean;
}
@Bean
public SchedulerFactoryBean scheduler(CronTrigger cronTrigger) throws Exception {
SchedulerFactoryBean factoryBean = new SchedulerFactoryBean();
factoryBean.setTriggers(cronTrigger);
return factoryBean;
}
}
在上面的示例中,MyJob
是你的作業(yè)類,你需要在這個類中實現(xiàn)org.quartz.Job
接口,并重寫execute()
方法。
3. 創(chuàng)建作業(yè)類:創(chuàng)建一個實現(xiàn)org.quartz.Job
接口的作業(yè)類。例如:
public class MyJob implements Job {
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
// 在這里編寫你的作業(yè)邏輯
System.out.println("執(zhí)行作業(yè)邏輯...");
}
}
@Scheduled
注解:@Component
public class MyScheduledJob {
@Scheduled(cron = "0/5 * * * * ?") // 設(shè)置Cron表達式,指定作業(yè)的執(zhí)行時間
public void execute() {
System.out.println("使用注解觸發(fā)作業(yè)...");
}
}
或者,通過編程方式觸發(fā)作業(yè):
@Autowired
private Scheduler scheduler;
public void triggerJob() throws JobParametersInvalidException, JobExecutionAlreadyRunningException, JobRestartException, JobInstanceAlreadyCompleteException {
JobDetail jobDetail = newJob(MyJob.class).withIdentity("myJob").build();
Trigger trigger = newTrigger().withIdentity("myTrigger").startNow().withSchedule(simpleSchedule().withIntervalInSeconds(5).repeatForever()).build();
scheduler.scheduleJob(jobDetail, trigger);
scheduler.start();
}
在上面的示例中,newJob()
和newTrigger()
方法用于創(chuàng)建作業(yè)和觸發(fā)器。你可以根據(jù)需要調(diào)整這些參數(shù)。
以上就是在Spring Boot中使用Spring Quartz的基本步驟。你可以根據(jù)自己的需求進行進一步的配置和擴展。