创建Maven项目
- 打开Eclipse->File->Project->Maven ->Maven Project直接下一步输入Group Id和Artifact Id ,点击[Finish]按钮
-
Maven Repository搜索quartz关键字并选择最新的quartz版本
- 选择2.3.0版本复制quartz依赖到刚创建的maven项目的pom.xml文件中
<!-- https://mvnrepository.com/artifact/org.quartz-scheduler/quartz --> |
创建一个HelloJob 类集成Job接口,并实现void execute方法
import java.text.SimpleDateFormat; import java.util.Date; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; public class HelloJob implements Job { public void execute(JobExecutionContext arg0) throws JobExecutionException { //打印当前的执行时间 Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println("Current time is:"+sdf.format(date)); //编写具体的业务逻辑 System.out.println("hello world"); } }
创建一个HelloScheduler,并且调用Scheduler方法
import org.quartz.JobBuilder; import org.quartz.JobDetail; import org.quartz.Scheduler; import org.quartz.SchedulerFactory; import org.quartz.SimpleScheduleBuilder; import org.quartz.Trigger; import org.quartz.TriggerBuilder; import org.quartz.impl.StdSchedulerFactory; public class HelloScheduler { public static void main(String[] args) throws Exception { //创建一个JobDetail实例,将该实例与HelloJob class绑定 JobDetail jobDetail = JobBuilder.newJob(HelloJob.class).withIdentity("myJob","group1").build(); //创建一个Trigger实例,定义该Job立即执行,并且每隔2秒钟重复执行一次,直到永远 Trigger trigger = TriggerBuilder.newTrigger().withIdentity("myTrigger", "group1").startNow().withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(2).repeatForever()).build(); //创建Scheduler实例 SchedulerFactory sfact = new StdSchedulerFactory(); Scheduler scheduler = sfact.getScheduler(); scheduler.start(); scheduler.scheduleJob(jobDetail, trigger); } }
运行结果如下:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Current Exec Time : 2018-09-27 13:12:06
Hello World
Current Exec Time : 2018-09-27 13:12:08
Hello World
Current Exec Time : 2018-09-27 13:12:10
Hello World
Current Exec Time : 2018-09-27 13:12:12
Hello World
Current Exec Time : 2018-09-27 13:12:14
Hello World
Current Exec Time : 2018-09-27 13:12:16
Hello World