quartz---的一个简单例子
首先建立一个maven项目。jar工程即可。(提示:我前面有如何建立一个maven工程的总结以及maven环境的配置。)
1.建立好后点击到app中运行,-->右键-->run As-->java application,
如果控制台打印出来Hello World! 代表maven工程建立成功!!!
2.在pom文件中导入quartz的jar。
-->可以打开http://mvnrepository.com/ -->搜索quartz -->复制quartz的坐标。 用最新的jar
导入jar:
建一个类:
1 package com.imooc.demo.helloQuartz; 2 3 import java.text.SimpleDateFormat; 4 import java.util.Date; 5 6 import org.quartz.Job; 7 import org.quartz.JobExecutionContext; 8 import org.quartz.JobExecutionException; 9 10 public class HelloJob implements Job{ 11 12 @Override 13 public void execute(JobExecutionContext arg0) throws JobExecutionException { 14 //打印当前执行的时间,格式为2017-05-06 00:00:00 15 Date date=new Date(); 16 SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 17 System.out.println("Current Exec Time Is:"+sf.format(date)); 18 //编写具体业务逻辑 19 System.out.println("------------------"); 20 System.out.println("Hello world-"); 21 } 22 23 }
该类实现了Job类,并需要从写他仅有的一个方法execute
写一个测试类:
1 package com.imooc.demo.helloQuartz; 2 3 import java.text.SimpleDateFormat; 4 import java.util.Date; 5 6 import org.quartz.JobBuilder; 7 import org.quartz.JobDetail; 8 import org.quartz.Scheduler; 9 import org.quartz.SchedulerException; 10 import org.quartz.SchedulerFactory; 11 import org.quartz.SimpleScheduleBuilder; 12 import org.quartz.Trigger; 13 import org.quartz.TriggerBuilder; 14 import org.quartz.impl.StdSchedulerFactory; 15 16 public class HelloScheduler { 17 18 public static void main(String[] args) throws SchedulerException { 19 // 创建一个jobDatail实例,将该实力与helloJob绑定 20 JobDetail detail = JobBuilder.newJob(HelloJob.class).withIdentity("myJob").build(); 21 System.out.println("JobDetail name:" + detail.getKey().getName()); 22 System.out.println("JobDetail group:" + detail.getKey().getGroup()); 23 System.out.println("JobDetail jobClass:" + detail.getKey().getClass()); 24 25 // 创建一个Trigger实例,定义该job立即执行,并且在每隔2秒重复执行 26 Trigger trigger = TriggerBuilder.newTrigger().withIdentity("myTrigger", "group1").startNow() 27 .withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(2).repeatForever()).build(); 28 // 创建Scheduler实例 29 SchedulerFactory factory = new StdSchedulerFactory(); 30 Scheduler scheduler = factory.getScheduler(); 31 scheduler.start(); 32 Date date = new Date(); 33 SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 34 System.out.println("Current Exec Time Is:" + sf.format(date)+"-----"); 35 // 把jobDetail和Trigger与scheuler绑定在一起 36 scheduler.scheduleJob(detail, trigger); 37 } 38 }
-->右键-->run As-->java application,
此时 每隔2秒打印一次当前时间和Hello World! 然后就正确了
第一个quartz项目:
使用了Job,jobDetail以及他们的属性:name,class,group。
代码说明了一切,这里我就不啰嗦了。