
Quartz
文章平均质量分 84
山石岐渡
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Quartz教程 - 6调度器
这些是 Quartz 中常见的内置日历实现,每种日历都有其特定的用途和功能。除了这些内置的日历实现外,你还可以实现自定义的。如果我们想在某些时候不执行任务,例如有一个任务,一年每天都会执行,但是想在节假日不执行,该如何做呢?通过实现这个接口,你可以定义自己的日历逻辑,用于控制任务的执行时间。在Quartz 中是一个接口,它有很多的实现类,我们这里演示一下,在指定的日期不执行任务。接口定义了日历的抽象,而具体的日历实现则有多种方式,其中包括一些内置的和自定义的实现。,则不会进行替换,而是保留现有的。原创 2024-01-11 19:27:49 · 478 阅读 · 0 评论 -
Quartz教程 - 5触发器
SimpleTrigger 只能定义按照指定频率执行的任务,如果要定义复杂的执行规则,SimpleTrigger 是无法支持的,一般我们用的最多的就是。在实际使用中,根据您的需求选择合适的Misfire策略非常重要,这可以确保即使在意外情况下,任务也能够按照期望的方式执行。作用:立即执行所有错过的触发,错过了100个,一下子把错过的100个全部执行了,然后按照原计划执行任务。上面的代码和之前的 HelloWorld 基本是一样的,只是使用了不同的触发器。在一个字段中可以指定多个数值,例如在星期字段中,原创 2024-01-11 19:26:20 · 1334 阅读 · 0 评论 -
Quartz教程 - 4Job
首先从 JobDataMap 中获取到 count,然后修改 count 的值,然后重新将 count 的值保存到 JobDataMap 中,这样下一次任务执行的时候,就可以获取到更新后的值。为什么要每次创建一个新的对象呢,因为可能任务执行比较久,一次任务没执行完,下一次任务就开始执行的问题,如果使用的是同一个对象,就可能存在并发问题。注解,让任务串行执行,否则当前任务没有执行完成,下一次任务执行的时候,通过 JobDataMap 获取到的值是没有被更新的。注解,上一次执行完成,才会执行下一次任务。原创 2024-01-11 19:25:13 · 1235 阅读 · 0 评论 -
Quartz教程 - 2HelloWorld
任务详情就是 JobDetail,这个 JobDetail 其实是对 Job 的包装和描述,每次执行任务,调度器就会根据 JobDetail 的描述信息通过反射创建一个新的 Job 实例,这样可以规避并发访问的问题。,也存在版本兼容问题,使用1.4.x 和 1.3.x都不行,需要使用 1.2.x 的。,quartz 的日志是打印不出来的,但是要注意版本问题,因为 quartz 中的。的版本是 1.7.x 的,这里我使用 2.x.x 版本的。类中只有一个方法,实现了 Job 类中的。原创 2024-01-11 19:21:55 · 543 阅读 · 0 评论 -
Quartz教程 - 3传递参数
可以通过 JobExecutionContext 对象获取到 JobDetail 和 Trigger 的信息,然后获取到 JobDataMap 的信息。可以获取 JobDetail 和 Trigger 传递的参数合并后的结果,如果传递参数的时候 JobDetail 和 Trigger 传递了相同的 key 值,那么 Trigger 中传递的参数会覆盖 JobDetail 中的参数。如果我们想在创建任务和触发器的时候,给任务传递一些参数,在执行任务的时候,可以读取到这些参数,那么该如何处理呢?原创 2024-01-11 19:23:19 · 2037 阅读 · 0 评论 -
Quartz教程 - 1Quartz简介
我们在项目中经常会需要执行一些定时任务,例如定时进行数据备份和清理;定时检查创建的订单有没有支付,没有支付超过30分钟就将其取消,这些都会用到定时任务。Quartz 就是一个开源的、用于 Java 编程语言的任务调度框架。它的主要作用是允许开发者根据预定的时间执行特定的任务。这些任务可以是一次性的,也可以是周期性的,Quartz 可以有效地管理这些任务的执行。原创 2024-01-11 19:20:09 · 445 阅读 · 0 评论