要使用Quartz框架,需要在项目中引入Quartz的Maven依赖。在pom.xml
文件中添加以下代码即可:
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.2</version>
</dependency>
这个依赖会自动下载Quartz框架的相关jar包,并将其添加到项目中。其中,groupId
表示Quartz框架的Maven Group ID,artifactId
表示Quartz框架的Maven Artifact ID,version
表示Quartz框架的版本号。你可以根据自己的需要更改版本号。
import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;
public class CronScheduler {
public static void main(String[] args) throws SchedulerException {
// 创建一个调度器
SchedulerFactory schedulerFactory = new StdSchedulerFactory();
Scheduler scheduler = schedulerFactory.getScheduler();
// 创建一个JobDetail实例,将该实例与HelloJob Class绑定
JobDetail jobDetail = JobBuilder.newJob(HelloJob.class)
.withIdentity("job1", "group1")
.build();
// 创建一个Trigger实例,定义该job立即执行,并且每隔1秒钟重复执行一次,直到永远
Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity("trigger1", "group1")
.withSchedule(CronScheduleBuilder.cronSchedule("0/1 * * * * ?"))
.build();
// 将job和trigger注册到调度器中
scheduler.scheduleJob(jobDetail, trigger);
// 启动调度器
scheduler.start();
// 修改trigger的执行时间为每隔2秒钟执行一次
TriggerKey triggerKey = new TriggerKey("trigger1", "group1");
Trigger newTrigger = TriggerBuilder.newTrigger()
.withIdentity(triggerKey)
.withSchedule(CronScheduleBuilder.cronSchedule("0/2 * * * * ?"))
.build();
scheduler.rescheduleJob(triggerKey, newTrigger);
// 启动调度器
scheduler.start();
}
}
// 创建一个简单的Job
class HelloJob implements Job {
public void execute(JobExecutionContext context) throws JobExecutionException {
System.out.println("Hello Quartz!");
}
}
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
</dependencies>