Quartz做定时任务怎么做
时间: 2023-10-13 19:23:58 浏览: 39
Quartz是一个Java编写的开源定时任务框架,它可以用来调度各种类型的任务,包括简单的定时任务、复杂的作业流、分布式任务等。下面是一个简单的Quartz定时任务的实现步骤:
1. 添加Quartz依赖
在项目中添加Quartz的依赖,可以通过Maven或Gradle等构建工具来添加,例如:
```xml
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.2</version>
</dependency>
```
2. 实现Job接口
创建一个实现了Quartz的Job接口的类,例如:
```java
public class MyJob implements Job {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
// 执行定时任务的方法
}
}
```
3. 创建Trigger和Scheduler
创建一个Trigger对象,设置定时任务的触发时间和执行规则,例如:
```java
Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity("myTrigger", "group1")
.startNow()
.withSchedule(SimpleScheduleBuilder.simpleSchedule()
.withIntervalInSeconds(10)
.repeatForever())
.build();
```
创建一个Scheduler对象,将Job和Trigger关联起来,例如:
```java
Scheduler scheduler = new StdSchedulerFactory().getScheduler();
JobDetail jobDetail = JobBuilder.newJob(MyJob.class)
.withIdentity("myJob", "group1")
.build();
scheduler.scheduleJob(jobDetail, trigger);
```
4. 启动Scheduler
调用Scheduler的start()方法启动定时任务,例如:
```java
scheduler.start();
```
这样就可以实现一个简单的Quartz定时任务了。当定时任务的触发时间到达时,Quartz会自动调用Job的execute()方法执行任务。如果需要修改定时任务的执行时间或规则,只需要修改Trigger即可。