添加依赖
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>2.2.1</version>
</dependency>
项目结构
主类:
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
@EnableScheduling //开启Scheduling支持
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
简单方法的实现
package com.example.demo.quartz;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.Scheduled;
import java.util.Date;
/**
* @author zm
* @version 1.0
* @date 2021/4/25 15:14
*/
@Configuration
public class SimpleJob {
@Scheduled(cron = "0/1 * * * * ?")
public void run() {
System.out.println(new Date());
}
}
这个类可以定义一些业务复杂的定时任务
package com.example.demo.quartz;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.Trigger;
import org.springframework.scheduling.TriggerContext;
import org.springframework.scheduling.annotation.SchedulingConfigurer;
import org.springframework.scheduling.config.ScheduledTaskRegistrar;
import org.springframework.scheduling.support.CronTrigger;
import java.util.Date;
/**
* @author zm
* @version 1.0
* @date 2021/4/25 15:38
*/
@Configuration
public class ComplexJob implements SchedulingConfigurer {
@Override
public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) {
scheduledTaskRegistrar.addTriggerTask(new Runnable() {
@Override
public void run() {
System.err.println(new Date());
}
}, new Trigger() {
@Override
public Date nextExecutionTime(TriggerContext triggerContext) {
return new CronTrigger("0/2 * * * * ?").nextExecutionTime(triggerContext);
}
});
}
}
实验结果
原文:https://www.cnblogs.com/zhangmeng0726/p/14700670.html