Quartz初识以及简单运用
2018-06-18 02:00:36来源:未知 阅读 ()
1、初识Quartz
1.1、概述
- Quartz是一个完全由Java编写的一个开源的任务调度框架,说的简单点就是开发人员可以通过Quartz根据时间间隔调度任务,例如:
- 每隔一小时命令程序执行一个任务
- 每个月命令程序执行一个任务
- 指定某月末日命令程序执行一个任务
- ……
- 每隔一小时命令程序执行一个任务
- Quartz下载地址:http://www.quartz-scheduler.org/downloads/
1.2、Quartz API
1.2.1、Scheduler——与scheduler交互的主要API;
Scheduler的生命周期从SchedulerFactory创建它时开始,到Scheduler调用showdown()方法结束。Scheduler只有在调度start()方法后才会真正的触发trigger(执行job)。Scheduler被创建后可以增加、删除、和列举Job和Trigger,以及执行其它与调度相关的操作。
1.2.2、Job——由调度程序执行的任务需要实现的接口
1.2.3、JobDetail——定义Job的实例
1.2.4、Trigger——触发Job的执行
1.2.5、JobBuilder——定义创建JobDetail实例的接口
1.2.6、TriggerBuilder——定义创建Trigger实例的接口
2、Hello Quartz 简单运用
2.1、首先实现一个简单的小demo《Hello Quartz!》,具体需求:每隔5秒通过控制台输出一句“hello quartz!”;
2.2、代码
1 package com.xxw.test; 2 3 import org.quartz.Job; 4 import org.quartz.JobExecutionContext; 5 import org.quartz.JobExecutionException; 6 7 public class MyJob implements Job{ 8 9 @Override 10 public void execute(JobExecutionContext arg0) throws JobExecutionException { 11 System.out.println("hello quartz!"); 12 } 13 14 }
1 package com.xxw.test; 2 3 import static org.quartz.JobBuilder.newJob; 4 import static org.quartz.SimpleScheduleBuilder.simpleSchedule; 5 import static org.quartz.TriggerBuilder.newTrigger; 6 7 import org.quartz.JobDetail; 8 import org.quartz.Scheduler; 9 import org.quartz.Trigger; 10 import org.quartz.impl.StdSchedulerFactory; 11 12 public class HellowQuartz { 13 14 public static void main(String[] args) { 15 try { 16 // 定义JobDetail 17 JobDetail job = newJob(MyJob.class) // 定义Job类为MyJob类,这个类是任务逻辑类 18 .withIdentity("job1", "group1") // 定义name/group 19 .build(); 20 21 // 定义一个Trigger 22 Trigger trigger = newTrigger() 23 .withIdentity("trigger1", "group1") // 定义name/group 24 .startNow() // 一旦加入scheduler,立刻生效 25 .withSchedule( 26 simpleSchedule() // 使用simpleSchedule 27 .withIntervalInSeconds(5) // 每隔5秒执行一次 28 .repeatForever()) // 一直执行 29 .build(); 30 31 // 实例 Schedule 调度器 32 Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler(); 33 // 添加调度 34 scheduler.scheduleJob(job, trigger); 35 // 启动 36 scheduler.start(); 37 38 } catch (Exception e) { 39 e.printStackTrace(); 40 } 41 } 42 }
2.3、结果
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- java环境教程:Tomcat下载,安装,设置为Windows服务,启动 2020-06-09
- Java跨平台原理(字节码文件、虚拟机) 以及Java安全性 2020-06-07
- 初识Nginx——前后端发布 2020-06-03
- Java生鲜电商平台-生鲜系统代码审查以及优化方案(小程序/APP 2020-06-01
- Java动态代理与静态代理以及它能为我们做什么 2020-05-31
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash