去掉quartz中的定时检查版本更新

今天在学习quartz的时候,发现每次调试时都会输出版本更新的提示。但是自己没有写版本更新的代码,心想肯定是quartz把定时检查的代码写入到了jar包中。仔细一找,发现有个UpdateChecker的类,原来就是这个类在捣蛋,而且它是继承了TimerTask的类,要是在实际应用中它一直去检查版本更新,那多么浪费性能。

经过查看代码引用,发现是在初始化QuartzScheduler类的时候启用了这个定时检查的定时器。它是根据以下代码判断是否初始化这个定时器:

private boolean shouldRunUpdateCheck() {
        if(resources.isRunUpdateCheck() 
		&& !Boolean.getBoolean(StdSchedulerFactory.PROP_SCHED_SKIP_UPDATE_CHECK) 
		&& !Boolean.getBoolean("org.terracotta.quartz.skipUpdateCheck")) {
            return true;
        }
        return false;
    }

经过上面的代码可以看出,只要我们在配置文件中配置一个org.quartz.scheduler.skipUpdateCheck为false的参数既可让它不再启这个定时任务了。


解决办法:用winrar打开quartz-all-2.0.2.jar,在org\quartz下找到quartz.properties。然后在最后一行加入以下代码并保存。

org.quartz.scheduler.skipUpdateCheck: true


再次调试程序就不会再定时检查版本更新了。

<think>好的,用户问的是定时任务表达式0 10 06 * * ?,我需要详细解释每个字段的含义。首先,确认这是一个cron表达式,常用于调度任务。然后分部分解析,每个位置代表秒、分、时、日、月、周、年,不过可能用户给出的表达式省略了年,所以可能是六个部分。 接下来,逐个分析每个字段:第一个0是秒,第二个10是分钟,第三个06是小时。这里要注意06是否会被解析成6,因为有些系统允许前面补零,而有些可能不支持,比如可能写成6更标准。然后后面的* * ?分别代表日、月、周。需要解释每个符号的意义,比如星号代表任何值,问号通常用于替代日或周,表示不指定。 然后综合起来,这个表达式表示每天6:10:00执行任务。需要提醒用户注意系统的cron格式是否有年字段,以及是否支持问号。可能用户是在使用类似Quartz的调度框架,因为Quartz支持秒级和问号,而标准的cron可能没有秒和问号。这时候需要指出不同系统的差异,避免用户混淆。 另外,用户可能的应用场景是什么?比如定时备份、发送邮件、生成报告等,可以举例说明,让用户更容易理解。还要注意检查是否有可能的错误,比如06是否被正确解析,是否有月份或周数的冲突,比如同时指定日和周可能导致问题,但这里用了问号,所以应该没问题。 最后,总结这个表达式的含义,并给出常见的例子,帮助用户确认是否符合他们的预期。同时,提醒用户根据具体的调度系统调整表达式,比如如果不需要秒的话,可能需要去掉前面的0,或者调整问号的位置。</think>你提供的 `0 10 06 * * ?` 是一个 **Cron 表达式**,用于定义定时任务的执行时间。Cron 表达式由多个时间字段组成,不同系统可能略有差异,但通常遵循以下格式(以你的表达式为例): ``` 秒 分 时 日 月 周 年(可选) ``` 你的表达式 `0 10 06 * * ?` 分解如下(假设为 **Quartz 调度框架**的格式,支持秒级精度和 `?` 通配符): 1. **秒(0)**: 第 0 秒触发。 2. **分(10)**: 第 10 分钟触发。 3. **时(06)**: 早上 6 点触发(注意 `06` 等同于 `6`,通常用两位数是格式要求)。 4. **日(\*)**: 每天触发(`*` 表示“任意值”)。 5. **月(\*)**: 每月触发。 6. **周(?)**: 不指定周几(`?` 用于避免与“日”字段冲突,二者通常只能指定一个)。 7. **年(未填写)**: 默认每年触发(某些框架支持可选)。 --- ### **该表达式的含义** **每天早晨 6:10:00(精确到秒)触发任务**,例如: - 定时备份数据库 - 发送每日报告邮件 - 清理临时文件 --- ### **注意事项** 1. **系统差异**: - **Linux Cron**(标准)不支持秒和 `?`,格式为 `分 时 日 月 周`(如 `10 6 * * *` 表示每天 6:10)。 - **Quartz**(Java 调度库)支持秒和 `?`,因此你的表达式更可能属于此类。 2. **特殊符号**: - `*` 表示“所有可能值”。 - `?` 表示“不指定”(常用于日/周字段互斥时)。 - 更多符号(如 `-`、`,`、`/`)可定义复杂规则。 --- 如果需要调整时间,可以根据字段顺序修改对应数值。例如: - `0 0 12 * * ?` → 每天中午 12:00:00 - `0 0/5 9-18 * * ?` → 每天 9 点到 18 点,每 5 分钟触发一次
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值