用 quartz 进行作业调度

用 quartz 进行作业调度

ID:14831072

大小:87.58 KB

页数:9页

时间:2018-07-30

用 quartz 进行作业调度_第1页
用 quartz 进行作业调度_第2页
用 quartz 进行作业调度_第3页
用 quartz 进行作业调度_第4页
用 quartz 进行作业调度_第5页
资源描述:

《用 quartz 进行作业调度》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、用Quartz进行作业调度简介:Quartz是个开放源码项目,提供了丰富的作业调度集。在这篇文章中,软件工程师MichaelLipton和IT架构师SoobaekJang对QuartzAPI进行了介绍,从对框架的一般概述开始,并以一系列展示Quart基本特性的代码示例作为结束。在阅读完本文并看过代码示例后,您应当能够把Quartz的基本特性应用到任何Java™应用程序中。示例1:作业通过实现org.quartz.job接口,可以使Java类变成可执行的。清单1提供了Quartz作业的一个示例。这个类用一条非常简单的输出

2、语句覆盖了execute(JobExecutionContextcontext)方法。这个方法可以包含我们想要执行的任何代码(所有的代码示例都基于Quartz1.5.2,它是编写这篇文章时的稳定发行版)。清单1.SimpleQuartzJob.javapackagecom.ibm.developerworks.quartz;importjava.util.Date;importorg.quartz.Job;importorg.quartz.JobExecutionContext;importorg.quartz.Job

3、ExecutionException;publicclassSimpleQuartzJobimplementsJob{publicSimpleQuartzJob(){}publicvoidexecute(JobExecutionContextcontext)throwsJobExecutionException{System.out.println("InSimpleQuartzJob-executingitsJOBat"+newDate()+"by"+context.getTrigger().getName());}

4、}请注意,execute方法接受一个JobExecutionContext对象作为参数。这个对象提供了作业实例的运行时上下文。特别地,它提供了对调度器和触发器的访问,这两者协作来启动作业以及作业的JobDetail对象的执行。Quartz通过把作业的状态放在JobDetail对象中并让JobDetail构造函数启动一个作业的实例,分离了作业的执行和作业周围的状态。JobDetail对象储存作业的侦听器、群组、数据映射、描述以及作业的其他属性。示例2:简单触发器触发器可以实现对任务执行的调度。Quartz提供了几种不同的

5、触发器,复杂程度各不相同。清单2中的SimpleTrigger展示了触发器的基础:清单2.SimpleTriggerRunner.javapublicvoidtask()throwsSchedulerException{//InitiateaScheduleFactorySchedulerFactoryschedulerFactory=newStdSchedulerFactory();//RetrieveaschedulerfromschedulefactorySchedulerscheduler=schedulerF

6、actory.getScheduler();//currenttimelongctime=System.currentTimeMillis();//InitiateJobDetailwithjobname,jobgroup,andexecutablejobclassJobDetailjobDetail=newJobDetail("jobDetail-s1","jobDetailGroup-s1",SimpleQuartzJob.class);//InitiateSimpleTriggerwithitsnameandgr

7、oupnameSimpleTriggersimpleTrigger=newSimpleTrigger("simpleTrigger","triggerGroup-s1");//setitsstartuptimesimpleTrigger.setStartTime(newDate(ctime));//settheinterval,howoftenthejobshouldrun(10secondshere)simpleTrigger.setRepeatInterval(10000);//setthenumberofexec

8、utionofthisjob,setto10times.//Itwillrun10timeandexhaust.simpleTrigger.setRepeatCount(100);//settheendingtimeofthisjob.//Wesetitfor60secondsfromitsstartuptimehere//Eve

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。