JobDetail jobDetail = new JobDetail(jobName, jobGroup, class1.getClass()); Trigger trigger3 = TriggerUtils.makeMinutelyTrigger("trigger2", 10, SimpleTrigger.REPEAT_INDEFINITELY); Trigger trigger4 = TriggerUtils.makeSecondlyTrigger("trigger1", 5000, SimpleTrigger.REPEAT_INDEFINITELY); // 下面这个接口其实可以理解为先addJob(JobDetail, false) // 再调用scheduleJob(Trigger), 此时Quartz会自动校正与设置trigger3的JobName与JobGroup属性 scheduler.scheduleJob(jobDetail, trigger3); // 因为任务已在上一条语句中已加入, 所以不能再使用scheduleJob(JobDetail, Trigger) trigger4.setJobName(jobName); trigger4.setJobGroup(jobGroup); scheduler.scheduleJob(trigger4); // 看这里
JobDetail jobDetail = new JobDetail(jobName, jobGroup, class1.getClass());
Trigger trigger3 = TriggerUtils.makeMinutelyTrigger("trigger2", 10, SimpleTrigger.REPEAT_INDEFINITELY);
Trigger trigger4 = TriggerUtils.makeSecondlyTrigger("trigger1", 5000, SimpleTrigger.REPEAT_INDEFINITELY);
// 下面这个接口其实可以理解为先addJob(JobDetail, false)
// 再调用scheduleJob(Trigger), 此时Quartz会自动校正与设置trigger3的JobName与JobGroup属性
scheduler.scheduleJob(jobDetail, trigger3);
// 因为任务已在上一条语句中已加入, 所以不能再使用scheduleJob(JobDetail, Trigger)
trigger4.setJobName(jobName);
trigger4.setJobGroup(jobGroup);
scheduler.scheduleJob(trigger4); // 看这里
总结:
每个任务JobDetail可以绑定多个Trigger,但一个Trigger只能绑定一个任务,这种绑定关系由四种接口来执行:
Scheduler#scheduleJob(JobDetail, Trigger)
该接口的作用是在将任务加入Quartz的同时绑定一个Trigger,Quartz会在加入该任务后自动设置Trigger的JobName与JobGroup为该JobDetail的name与group;
Scheduler#scheduleJob(Trigger)
该接口的作用是将该Trigger绑定到其JobName与JobGroup指向的任务JobDetail。这时的name与group需要在Trigger绑定前由Quartz的使用者来设置与调用
Scheduler#rescheduleJob(String, String, Trigger)
替换一个指定的Trigger, 即解除指定Trigger与任务的绑定,并将新的Trigger与任务绑定,Quartz会自动调整新Trigger的JobName与JobGroup,而旧的Trigger将被移除
Scheduler#triggerJob(String, String)
创建一个立即触发的Trigger,并将其与name与group指定的任务绑定
JobDetail有个属性叫durable,表明该任务没有任何trigger绑定时仍保存在Quartz的JobStore中,默认为false。
若JobDetail的durable属性为false,则任务将会从Quartz移除。
相关推荐
Quartz。现在可用的定时框架有很多,但是最受推崇的莫过于Quartz。它允许多Job多Trigger,多线程。并且受到Spring框架的完美支持。
Quartz2.2.1深入Job、JobDetail、JobDataMap、Trigger ,具体效果和过程看博文:http://blog.csdn.net/evankaka/article/details/45361759
内容提要:可以把 Quartz 引入到工作流中,主要讲了单独用 Quartz 来把 Job 组成 Job 链,模拟成一个酷似工作流的东西。 第十四章. 工作流中使用 Quartz (第二部分) 内容提要:OSWorkflow 工作流快速入门,讲了 ...
Quartz的工作原理是通过Job和Trigger两个核心概念来实现的,Job是具体需要执行的任务,Trigger用来触发任务的执行时机。在Quartz中,可以通过定义各种Trigger来实现不同的调度策略,如简单调度、Cron调度等。Quartz...
通过CronScheduleBuilder、SimpleScheduleBuilder设置时间规则。
Quartz的最简使用说明,用了两个Job,添加了14个Trigger。一个例子你就明白怎么使用的了~
quartz中文文档,易懂且齐全,该文档包括quartz的使用,Trigger说明,job并发,spring整合quartz以及持久化相关的知识,相对网上看到的文档来说,更容易上手和入门
quartz框架demo demo中包含了触发器Trigger,调度器Scheduler和Job的基本使用。直接运行main函数即可
1.页面配置Trigger以及选择Job任务来开启定时器。 2.记录job执行历史以及异常。 3.记录schedule操作历史以及异常。 分享给大家,欢迎提出批评和建议。 有些注释没有加上,有任何问题都可以email: wfeiyangvip@163....
本框架是我自己写的一个基于quartz定时任务框架,非常轻量级,自定义的定时任务,同时可以随时调用定时任务结果,感兴趣的可以看看
quartz-2.2.3 jar Job接口:自己写的"定时程序"实现此接口的void execute(JobExecutionContext arg0)方法,Job还有一类为有状态的StatefulJob接口,如果我们需要在上一个作业执行完后,根据其执行结果再进行下次作业...
-- trigger对应的job的相关信息 --> <job-name>test-job</job-name> <job-group>DEFAULT</job-group> <!-- 每5秒执行一次 --> <cron-expression>0/5 * * * * ?</cron-expression> </cron> </...
-- trigger触发器 --> class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"> <!-- 3秒后第一次执行 --> <!-- 5秒后重复执行 --> <!-- scheduler --> ...
Quartz有3个核心要素:调度器(Scheduler)、任务(Job)、触发器(Trigger)。Quartz完全使用Java开发,可以集成到各种规模的应用程序中。它能够承载成千上万的任务调度,并且支持集群。它支持将数据存储到数据库中以实现...
去石英 简单,零依赖的Go调度库。关于受到 Java调度程序的启发。图书馆积木作业界面。...job Job , trigger Trigger ) error// get all scheduled jobs keysGetJobKeys () [] int// get the scheduled j
quartz集群模式将quartz任务持久化到DB,使得多个应用实例可以共同承担JOB的执行(每次执行前请求trigger的锁)。直接查询或修改quartz的数据表可能会影响quartz原有的调度模式。这个DEMO使用一个间接的task数据表,...
Quartz 是个开源的作业调度框架,为在Java 应用程序中...它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联。整合了 Quartz 的应用程序可以重用来自不同事件的作业,还可以为一个事件组合多个作业。
spring-quartz Spring整合Quartz 将Quartz相关对象的创建和管理,整合到Spring中beans容器中,使得Quartz的使用和操作更加方便。...比如,将Quartz持久化Job和Trigger使用的DataSource,交由Spring管理维护。
本项目以尽量简洁的方式实现一个任务调度框架,演示一个任务调度框架所使用到的核心技术栈,包括job/trigger/scheduler等。本项目参考quartz-scheduler的架构实现。 项目结构 整个项目目录结构如下, - pom.xml 整个...
quartz-2.16 非常好用的定时功能,包含文档及例子jar包,是从官网下载的 支持每月 每天 每周 每秒等定时执行策略