简要说明
1、企业级任务调度;
2、支持基于cron表达式与Calender结合的触发时间点复杂或简单的任务调度;
3、支持分布式与持久化任务调度;
基本使用流程
引入依赖
<!-- https://mvnrepository.com/artifact/org.quartz-scheduler/quartz -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.2</version>
</dependency>
使用范例
实现Job接口
public class HelloJob implements Job {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.out.println(new Date() + "Hello! HelloJob is executing.");
}
}
创建对象并启动
public static void main(String[] args) {
try {
// 创建JobDetail对象
JobDetail jobDetail = JobBuilder.newJob(HelloJob.class)
.withIdentity("job1", "group1")
.build();
// 创建Trigger对象
Trigger simpleTrigger = TriggerBuilder.newTrigger()
.withIdentity("trigger1", "group1")
.startNow()
.withSchedule(
SimpleScheduleBuilder.simpleSchedule()
.withIntervalInSeconds(5).repeatForever()
)
.build();
// 创建Scheduler对象
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
// 注册
scheduler.scheduleJob(jobDetail, simpleTrigger);
// 启动
scheduler.start();
} catch (SchedulerException e) {
e.printStackTrace();
}
}
Wed Mar 03 01:49:46 CST 2021Hello! HelloJob is executing.
Wed Mar 03 01:49:51 CST 2021Hello! HelloJob is executing.
Wed Mar 03 01:49:56 CST 2021Hello! HelloJob is executing.