Quartz(二)简单的使用
来源:互联网 发布:网络打字员招聘 编辑:程序博客网 时间:2024/05/21 17:23
1.定义Job
package cn.itcast.quartz.example;import java.util.Date;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.quartz.Job;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;/** * 要执行的JOB任务 * * @author xiajie * @version $Id: HelloJob.java, v 0.1 2017年9月29日 上午11:09:42 xiajie Exp $ */public class HelloJob implements Job { private static Logger _log = LoggerFactory.getLogger(HelloJob.class); public HelloJob() { } public void execute(JobExecutionContext context) throws JobExecutionException { System.out.println("Hello World! - " + new Date()); // Say Hello to the World and display the date/time _log.info("Hello World! - " + new Date()); }}
2.表达式触发器使用
package cn.itcast.quartz.example;import static org.quartz.CronScheduleBuilder.cronSchedule;import static org.quartz.JobBuilder.newJob;import static org.quartz.TriggerBuilder.newTrigger;import org.quartz.JobDetail;import org.quartz.Scheduler;import org.quartz.SchedulerFactory;import org.quartz.Trigger;import org.quartz.impl.StdSchedulerFactory;public class SimpleCronExample { public void run() throws Exception { // 定义调度器 SchedulerFactory sf = new StdSchedulerFactory(); Scheduler sched = sf.getScheduler(); // 定义job JobDetail job = newJob(HelloJob.class).withIdentity("job1", "group1").build(); // 定义触发器,每5秒执行一次 /** * withSchedule(cronSchedule("0/5 * * * * ?")) 定义触发器 */ Trigger trigger = newTrigger().withIdentity("trigger1", "group1") .withSchedule(cronSchedule("0/5 * * * * ?")).build(); // 将job注册到调度器 sched.scheduleJob(job, trigger); // 启动调度器 sched.start(); try { Thread.sleep(60L * 1000L); } catch (Exception e) { } // 关闭调度器 sched.shutdown(true); } public static void main(String[] args) throws Exception { SimpleCronExample example = new SimpleCronExample(); example.run(); }}
package cn.itcast.quartz.example;import static org.quartz.DateBuilder.evenMinuteDate;import static org.quartz.JobBuilder.newJob;import static org.quartz.TriggerBuilder.newTrigger;import org.quartz.JobDetail;import org.quartz.Scheduler;import org.quartz.SchedulerFactory;import org.quartz.Trigger;import org.quartz.impl.StdSchedulerFactory;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.util.Date;public class SimpleExample { public void run() throws Exception { Logger log = LoggerFactory.getLogger(SimpleExample.class); // 定义调度器 /** * 工厂模式,获取调度器 */ SchedulerFactory sf = new StdSchedulerFactory(); Scheduler sched = sf.getScheduler(); // 获取当前时间的下一分钟 Date runTime = evenMinuteDate(new Date()); // 定义job // 在quartz中,有组的概念,组+job名称 唯一的 /** * Job和JobDetail是成对出现的 */ JobDetail job = newJob(HelloJob.class).withIdentity("job1", "group1").build(); // 定义触发器,在下一分钟启动 /** * withIdentity("trigger1", "group1") * 触发器的名称,触发器属于哪个组 * startAt 什么时候开始执行 */ Trigger trigger = newTrigger().withIdentity("trigger1", "group1").startAt(runTime).build(); // 将job注册到调度器 sched.scheduleJob(job, trigger); log.info(job.getKey() + " will run at: " + runTime); // 启动调度器 sched.start(); // 等待65秒 try { // wait 65 seconds to show job Thread.sleep(65L * 1000L); // executing... } catch (Exception e) { // } // 关闭调度器 sched.shutdown(true); } public static void main(String[] args) throws Exception { SimpleExample example = new SimpleExample(); example.run(); }}
阅读全文
0 0
- Quartz(二)简单的使用
- Quartz的使用(二)
- quartz的使用(二)
- Quartz的简单使用
- Quartz的简单使用
- Quartz的简单使用,基于1.X(二)【类的详细解释】
- quartz的简单使用-基于2.X(二)【与框架的整合】
- Quartz(一) 简单的使用
- Quartz 的简单使用(不使用任何框架)
- Quartz学习——Quartz简单入门Demo(二)
- Quartz学习——Quartz简单入门Demo(二)
- iOS海哥开发笔记 (海哥原创,绘图Quartz-2d的简单使用 二)
- quartz入门(二)SimpleTrigger简单实例
- quartz任务调度框架的简单使用
- Quartz 2D的简单使用
- quartz基于注解的简单使用demo
- 【Quartz】Quartz的搭建、应用(单独使用Quartz)
- quartz使用(二)
- MFC中 给按钮添加图片的方法
- iOS Runtime 几种基本用法简记
- Objective-C中注释和函数的定义
- 非阻塞算法在并发容器中的实现
- 《数据库SQL实战》查找涨幅超过15次
- Quartz(二)简单的使用
- 数据结构回顾和总结(树的各种遍历方法)(1)
- 第三周第二次
- 1026. 程序运行时间(15)
- 深入SpringBoot:自定义EnableAutoConfiguration
- springboot application.properties配置
- Bluetooth HIDL与之前版本的变化
- 学习笔记之面向对象编程29(GUI编程之布局管理器)
- 回顾大一·C语言编程4.3(3)