1.上一节我们讲解了Quartz的简介。
这一节我将开始创建第一个Quartz程序。
本次演示使用的是Maven创建的工程。因此不了假Mavne的同学可以自行百度一下有关Maven的知识。
1.创建一个Mavne项目。在Pom.xml中引入Quartz需要的依赖
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.0</version>
</dependency>
2.创建一个HelloJob类是我们在需要执行的任务。这次的任务是每隔两秒打印一句HelloWord 且永远不停止(除非程序出现异常被中断)。
HelloJob代码如下:
public class HelloJob implements Job{
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
Date date =new Date();
SimpleDateFormat simpleDateFormat =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("执行的时间是:"+simpleDateFormat.format(date));
System.out.println("Hello Word");
}
}
3.创建一个测试类
HelloScheduler:
package com.unitop.Demo01;
import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;
import java.text.SimpleDateFormat;
import java.util.Date;
public class HelloScheduler {
public static void main(String[] args) throws Exception{
//创建一个Jobtail实例,将该实例于HelloJob 绑定
JobDetail jobDetail = JobBuilder.newJob(HelloJob.class).withIdentity("myjob","group1").build();
//创建一个Trigger实例(g该实例定义执行的时间)
//立即执行,每隔两秒钟执行一次,永久不停息。
Trigger trigger = TriggerBuilder.newTrigger().withIdentity("myTrigger","group1")
.startNow().withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(2).repeatForever()).build();
//创建Schedule实例
SchedulerFactory schedulerFactory =new StdSchedulerFactory();
Scheduler scheduler = schedulerFactory.getScheduler();//获取Schedule实例
scheduler.start();//开始执行
Date date =new Date();
SimpleDateFormat simpleDateFormat =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("开始的时间是:"+simpleDateFormat.format(date));
//绑定JobDeatil 和Trigger
scheduler.scheduleJob(jobDetail,trigger);
}
}
执行程序之后Hello Word会每间隔两秒执行一次 且永不停止(除非出现意外的情况)。