下载
官网下载地址:http://www.quartz-scheduler.org/
下载步骤:
1、点击橘黄色的download连接。
<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz-jobs</artifactId> <version>2.2.1</version> </dependency>
example1
此实例为官方文档中提供的第一个实例,针对此实例,通过注解的形式进行一一说明。目前quartz使用版本为2.2.1。
1、定义任务处理类HelloJob实现Job接口
package com.secbro.job; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import java.util.Date; /** * 实现Job接口,定义具体运行的任务 */ public class HelloJob implements Job{ @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { //此处执行的任务就是打印出当前的时间 System.out.println("Hello World! - " + new Date()); } }
2、执行任务的处理类
package com.secbro.test; import com.secbro.job.HelloJob; import org.quartz.*; import org.quartz.impl.StdSchedulerFactory; import java.util.Date; /** * 执行任务的客户端 */ public class SimpleExample { /** * 定义构造方法 */ public SimpleExample() { } public void run() throws SchedulerException { // 日志打印,为方便起见,此出替换为控制台打印 System.out.println("------- Initializing ----------------------"); // 通过SchedulerFactory获取一个调度器实例 StdSchedulerFactory sf = new StdSchedulerFactory(); // 代表一个Quartz的独立运行容器 Scheduler scheduler = sf.getScheduler(); System.out.println("------- Initialization Complete -----------"); // 将返回某一时间点一分钟以后的时间 Date runtime = DateBuilder.evenMinuteDate(new Date()); System.out.println("------- Scheduling Job -------------------"); // 创建一个JobDetail实例,此版本JobDetail已经作为接口(interface)存在,通过JobBuilder创建 JobDetail jobDetail = JobBuilder.newJob(HelloJob.class).withIdentity("job1","group1").build(); // 定义调度规则接口 Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1","group1").startAt(runtime).build(); // 添加JobDetail到Scheduler容器中,并且和Trigger进行关联 scheduler.scheduleJob(jobDetail,trigger); System.out.println(jobDetail.getKey() + " will run at: " + runtime); scheduler.start(); System.out.println("------- Started Scheduler -----------------"); System.out.println("------- Waiting 65 seconds... -------------"); try { Thread.sleep(65000L); } catch (Exception var8) { ; } System.out.println("------- Shutting Down ---------------------"); scheduler.shutdown(true); System.out.println("------- Shutdown Complete -----------------"); } public static void main(String[] args) throws Exception { SimpleExample example = new SimpleExample(); example.run(); } }
3、执行之后,打印结果如下
------- Initializing ---------------------- ------- Initialization Complete ----------- ------- Scheduling Job ------------------- group1.job1 will run at: Fri Jun 12 16:37:00 CST 2015 ------- Started Scheduler ----------------- ------- Waiting 65 seconds... ------------- Hello World! - Fri Jun 12 16:37:00 CST 2015 ------- Shutting Down --------------------- ------- Shutdown Complete ----------------- Process finished with exit code 0
其中一下内容为HelloJob定时任务打印信息。
Hello World! - Fri Jun 12 16:37:00 CST 2015• 1
至此,Quartz的下载及简单实例已经完成。