Java任务调度框架Quartz教程实例
public abstract interface Job
{
public abstract void execute(JobExecutionContext paramJobExecutionContext)
throws JobExecutionException;
}
- package com.test;
- import java.util.Date;
- import org.quartz.Job;
- import org.quartz.JobExecutionContext;
- import org.quartz.JobExecutionException;
- /**
- * 需要执行的任务
- * @author lhy
- *
- */
- public class MyJob implements Job {
- @Override
- //把要执行的操作,写在execute方法中
- public void execute(JobExecutionContext arg0) throws JobExecutionException {
- System.out.println("测试Quartz"+new Date());
- }
- }
使用SimpleTrigger触发器
- package com.test;
- import java.util.Date;
- import org.quartz.JobDetail;
- import org.quartz.Scheduler;
- import org.quartz.SchedulerException;
- import org.quartz.SchedulerFactory;
- import org.quartz.SimpleTrigger;
- import org.quartz.impl.StdSchedulerFactory;
- /**
- * 调用任务的类
- * @author lhy
- *
- */
- public class SchedulerTest {
- public static void main(String[] args) {
- //通过schedulerFactory获取一个调度器
- SchedulerFactory schedulerfactory=new StdSchedulerFactory();
- Scheduler scheduler=null;
- try{
- // 通过schedulerFactory获取一个调度器
- scheduler=schedulerfactory.getScheduler();
- // 创建jobDetail实例,绑定Job实现类
- // 指明job的名称,所在组的名称,以及绑定job类
- JobDetail jobDetail=new JobDetail("job1", "jgroup1", MyJob.class);
- // 定义调度触发规则,比如每1秒运行一次,共运行8次
- SimpleTrigger simpleTrigger=new SimpleTrigger("simpleTrigger","triggerGroup");
- // 马上启动
- simpleTrigger.setStartTime(new Date());
- // 间隔时间
- simpleTrigger.setRepeatInterval(1000);
- // 运行次数
- simpleTrigger.setRepeatCount(8);
- // 把作业和触发器注册到任务调度中
- scheduler.scheduleJob(jobDetail, simpleTrigger);
- // 启动调度
- scheduler.start();
- }catch(SchedulerException e){
- e.printStackTrace();
- }
- }
- }
若使用CornTrigger触发器:
- package com.test;
- import java.util.Date;
- import org.quartz.CronTrigger;
- import org.quartz.JobDetail;
- import org.quartz.Scheduler;
- import org.quartz.SchedulerException;
- import org.quartz.SchedulerFactory;
- import org.quartz.SimpleTrigger;
- import org.quartz.impl.StdSchedulerFactory;
- /**
- * 调用任务的类
- * @author lhy
- *
- */
- public class CronTriggerTest {
- public static void main(String[] args) {
- //通过schedulerFactory获取一个调度器
- SchedulerFactory schedulerfactory=new StdSchedulerFactory();
- Scheduler scheduler=null;
- try{
- // 通过schedulerFactory获取一个调度器
- scheduler=schedulerfactory.getScheduler();
- // 创建jobDetail实例,绑定Job实现类
- // 指明job的名称,所在组的名称,以及绑定job类
- JobDetail jobDetail=new JobDetail("job1", "jgroup1", MyJob.class);
- // 定义调度触发规则,每天上午10:15执行
- CronTrigger cornTrigger=new CronTrigger("cronTrigger","triggerGroup");
- // 执行规则表达式
- cornTrigger.setCronExpression("0 15 10 * * ? *");
- // 把作业和触发器注册到任务调度中
- scheduler.scheduleJob(jobDetail, cornTrigger);
- // 启动调度
- scheduler.start();
- }catch(Exception e){
- e.printStackTrace();
- }
- }
- }
对于2.0.2jar包如下:
- package com.test;
- import java.util.Date;
- import org.quartz.CronScheduleBuilder;
- import org.quartz.JobBuilder;
- import org.quartz.JobDetail;
- import org.quartz.Scheduler;
- import org.quartz.SchedulerException;
- import org.quartz.SchedulerFactory;
- import org.quartz.SimpleScheduleBuilder;
- import org.quartz.Trigger;
- import org.quartz.TriggerBuilder;
- import org.quartz.impl.StdSchedulerFactory;
- /**
- * 调用任务的类
- * @author lhy
- *
- */
- public class SchedulerTest {
- public static void main(String[] args) {
- //通过schedulerFactory获取一个调度器
- SchedulerFactory schedulerfactory=new StdSchedulerFactory();
- Scheduler scheduler=null;
- try{
- // 通过schedulerFactory获取一个调度器
- scheduler=schedulerfactory.getScheduler();
- // 创建jobDetail实例,绑定Job实现类
- // 指明job的名称,所在组的名称,以及绑定job类
- JobDetail job=JobBuilder.newJob(MyJob.class).withIdentity("job1", "jgroup1").build();
- // 定义调度触发规则
- // 使用simpleTrigger规则
- // Trigger trigger=TriggerBuilder.newTrigger().withIdentity("simpleTrigger", "triggerGroup")
- // .withSchedule(SimpleScheduleBuilder.repeatSecondlyForever(1).withRepeatCount(8))
- // .startNow().build();
- // 使用cornTrigger规则 每天10点42分
- Trigger trigger=TriggerBuilder.newTrigger().withIdentity("simpleTrigger", "triggerGroup")
- .withSchedule(CronScheduleBuilder.cronSchedule("0 42 10 * * ? *"))
- .startNow().build();
- // 把作业和触发器注册到任务调度中
- scheduler.scheduleJob(job, trigger);
- // 启动调度
- scheduler.start();
- }catch(Exception e){
- e.printStackTrace();
- }
- }
- }
上述demo下载:1.8版本demo下载
Java任务调度框架Quartz教程实例相关推荐
- java quartz实例_Java任务调度框架Quartz教程实例
介绍 Quartz is a full-featured, open source job scheduling service that can be integrated with, or use ...
- (转)Java任务调度框架Quartz入门教程指南(三)任务调度框架Quartz实例详解深入理解Scheduler,Job,Trigger,JobDetail...
http://blog.csdn.net/zixiao217/article/details/53053598 首先给一个简明扼要的理解: Scheduler 调度程序-任务执行计划表,只有安排进执行 ...
- (转)Java任务调度框架Quartz入门教程指南(二) 使用job、trigger、schedule调用定时任务...
http://blog.csdn.net/zixiao217/article/details/53044890 读完第一节,我们已经对Quartz有了一个大体的认识,它可以定时帮我们执行一些处理程序, ...
- (转)Java任务调度框架Quartz入门教程指南(四)Quartz任务调度框架之触发器精讲SimpleTrigger和CronTrigger、最详细的Cron表达式范例...
http://blog.csdn.net/zixiao217/article/details/53075009 Quartz的主要接口类是Schedule.Job.Trigger,而触发器Trigge ...
- Java任务调度框架Quartz
转自:http://blog.csdn.net/yuebinghaoyuan/article/details/9045471 介绍 Quartz is a full-featured, open so ...
- Java 任务调度框架 Quartz
文章目录 1.Quartz 1.1 引入依赖 <dependency><groupId>org.quartz-scheduler</groupId><arti ...
- quartz框架_定时任务调度框架Quartz
最近需要写一个每天定点自动执行的定时任务,对于以前自己写小项目,可能会选择java自带的Timer类,但是对于公司中的项目,Timer类实现定时任务只能有一个后台线程执行任务,并且只能让程序按照某个频 ...
- Spring整合定时任务调度框架Quartz实
Spring整合定时任务调度框架Quartz实战 定时的任务处理在程序开发中应用的相当普遍,之前一直使用JDK的Timer类库来做任务调度功能不是很方便,因为它不能像cron服务那样可以指定具体年.月 ...
- Java日志--slf4j--使用/教程/实例
原文网址:Java日志--slf4j--使用/教程/实例_IT利刃出鞘的博客-CSDN博客 简介 说明 本文用示例介绍Java的slf4j这个日志框架的用法.同时也会介绍相关的知识. ...
最新文章
- Python学习笔记——time模块和datatime模块【时间处理】
- android如何处理大图片大小,android-如何将图像大小减小到1MB
- 按采用的传输介质计算机网络可分为4种,2015年4月全国自考计算机应用基础试卷及答案(00018)(4页)-原创力文档...
- supervisor命令行
- Angular学习笔记第三章——创建组件
- 将多个文件合并为一个文件
- 路由器、猫、交换机的解释
- HDU 6638 Snowy Smile 线段树+最大子段和
- RS485通信的学习以及思考
- 3D建模教程讲解!PBR场景制作破损的图书馆
- java毕业设计—— 基于java+JSP+SSH的婴幼儿产品销售系统设计与实现(毕业论文+程序源码)——婴幼儿产品销售系统
- 做第三方软件测评的意义
- WIFI模块透传基础试验-AP toSTR
- DSP芯片CSL的使用
- HTC将Viveport推向全球,这是要“反击”Valve的节奏?
- 道闸系统服务器内存不足,停车场智能道闸系统 常见问题及解决方案
- 算法导论 实验三 快速排序及其优化
- CCD传感器和CMOS传感器有什么区别
- ssm+jsp计算机毕业设计个人知识管理系统d8t89(程序+lw+源码+远程部署).
- mysql离散查询_mySQL数据库数据查询操作详解