[译]Java定时任务调度-Quartz文档(一)初步使用

    xiaoxiao2021-03-25  99

    首先来段官方的介绍: Quartz是一个功能强大的开源任务调度框架,可以集成到任意的java应用中,从最小的java应用到最发杂的电商系统都可以。Quartz可以用来创建数十、数百或者成千上万的简单或者复杂的任务;任务是标准的java组件形式,可以做你想做的任何事。Quartz的调度类还具有很多企业级类的特性,例如对JTA transactions的和集群的支持。

    那么在我的项目中,就希望利用Quartz来管理任务,便于后期扩展。下面是对官方文档的直译,仅做学习交流之用。

    课程 1: 初步使用Quartz 使用Scheduler(调度)之前,必须先初始化(这当然是废话)。初始化是通过SchedulerFactory完成的。有人喜欢使用JNDI 库中的工厂实例,而有些人则更倾向于直接初始化一个工厂实例。 Scheduler创建之后,就可以执行启动、关闭等操作了。注意一旦Scheduler被关闭,就无法再启动了,除非重新实例化一个Scheduler。Trigger(触发器)在Scheduler未启动或者暂停期间是不会启动的。 下面是一个简单的例子:

    SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory(); Scheduler sched = schedFact.getScheduler(); sched.start(); // define the job and tie it to our HelloJob class JobDetail job = newJob(HelloJob.class) .withIdentity("myJob", "group1") .build(); // Trigger the job to run now, and then every 40 seconds Trigger trigger = newTrigger() .withIdentity("myTrigger", "group1") .startNow() .withSchedule(simpleSchedule() .withIntervalInSeconds(40) .repeatForever()) .build(); // Tell quartz to schedule the job using our trigger sched.scheduleJob(job, trigger);

    在这个例子中首先实例化了一个工厂,然后从工厂实例化了一个Scheduler。接着定义了一个job和一个trigger,最后调度起来,任务就跑起来了。

    原文: http://www.quartz-scheduler.org/ http://www.quartz-scheduler.org/documentation/quartz-2.2.x/tutorials/tutorial-lesson-01.html

    转载请注明原文地址: https://ju.6miu.com/read-19395.html

    最新回复(0)