1.pom:
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.3</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>2.2.3</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
</dependency>
2. 任务执行类
public class CheckStatusTask2 implements Job {
public void execute(JobExecutionContext context) throws JobExecutionException {
// 定时任务逻辑
System.out.println("开始执行定时任务2............."+new Date());
}
}
3.配置定时任务(跟xml配置文件差不多,换了换模式而已)
@Configuration
public class QuartzConfig2 {
@Bean(name="jobDetailFirst")
public JobDetailFactoryBean jobDetailFirst(){
JobDetailFactoryBean factory=new JobDetailFactoryBean();
factory.setJobClass(CheckStatusTask2.class);
return factory;
}
@Bean(name="cronTriggerFirst")
public CronTriggerFactoryBean cronTriggerFirst(@Qualifier("jobDetailFirst")JobDetailFactoryBean jobDetailFirst){
CronTriggerFactoryBean factory=new CronTriggerFactoryBean();
factory.setJobDetail(jobDetailFirst.getObject());
factory.setCronExpression("0/6 * * * * ?");
return factory;
}
@Bean(name="jobDetailSecond")
public JobDetailFactoryBean jobDetailSecond(){
JobDetailFactoryBean factory=new JobDetailFactoryBean();
factory.setJobClass(CheckStatusTask3.class);
return factory;
}
@Bean(name="cronTriggerSecond")
public CronTriggerFactoryBean cronTriggerSecond(@Qualifier("jobDetailSecond")JobDetailFactoryBean jobDetailSecond){
CronTriggerFactoryBean factory=new CronTriggerFactoryBean();
factory.setJobDetail(jobDetailSecond.getObject());
factory.setCronExpression("0/2 * * * * ?");
return factory;
}
@Bean(name="scheduler")
public SchedulerFactoryBean schedulerFactoryBean(@Qualifier("cronTriggerFirst")CronTriggerFactoryBean cronTriggerFirst,
@Qualifier("cronTriggerSecond")CronTriggerFactoryBean cronTriggerSecond){
SchedulerFactoryBean factory=new SchedulerFactoryBean();
factory.setTriggers(cronTriggerFirst.getObject(),cronTriggerSecond.getObject());
return factory;
}
}
截图展示