java使用Quartz任务调用crontab表达式的时候报错:Based on configured schedule, the given trigger will never fire

简介: java使用Quartz任务调用crontab表达式的时候报错:Based on configured schedule, the given trigger will never fire

项目升级适配改造时遇到的问题,定时任务和crontab表达式理论上都是没有问题的,但实际测试验证时报错了

这里先推荐一个crontab执行时间计算工具:crontab时间计算

image.png

之前一直在使用bejson的Cron表达式校验工具,但是无法验证Quartz类型的cron语句


报错


java使用Quartz任务调用crontab表达式的时候报错:

Based on configured schedule, the given trigger will never fire


原因分析


通过使用cron表达式校验工具发现和日志对比分析发现,cron表达式设置的时间总是比执行时间提前,这就能解释问题了,执行时间超过了配置时间,那么配置的时间自然永远不会触发了


还是从代码入手,原来为了避免多个任务同时执行,把所有的定时任务选择了10秒 内的随机数前置了时间,但有的任务是设置当下立即执行,这个时候再前置时间就一定是不正确的


解决

一定要确保执行时间不要超过配置时间


当出现这个报错时,首先去验证一下配置时间和执行时间的先后顺序


目录
相关文章
|
1天前
|
存储 缓存 Java
Java中的Lambda表达式优化技巧
本文将深入探讨Java 8引入的Lambda表达式,揭示其在简化代码、提升性能方面的强大能力。我们将通过实例演示如何高效利用Lambda表达式,并指出常见的使用误区,帮助开发者在编程实践中更加得心应手。
|
1天前
|
Java Shell Nacos
centos7.x使用nacos2.1.0(解决JAVA_HOME、javac报错)
centos7.x使用nacos2.1.0(解决JAVA_HOME、javac报错)
4 1
|
2天前
|
Java
java正则表达式详解
java正则表达式详解
|
2天前
|
Java
java同一个任务使用for循环与Stream比较
java同一个任务使用for循环与Stream比较
8 1
|
1天前
|
Java 机器人 程序员
Java中的lambda表达式与Stream API:高效的函数式编程
Java中的lambda表达式与Stream API:高效的函数式编程
|
1天前
|
Java 机器人 程序员
如何在Java中使用Lambda表达式?
如何在Java中使用Lambda表达式?
|
1天前
java-switch表达式
java-switch表达式
5 0
|
2天前
|
Java
java使用CountDownLatch将一个任务拆解后合并处理
java使用CountDownLatch将一个任务拆解后合并处理
5 0
|
2天前
|
Java
Intellij idea 报错:Error : java 不支持发行版本5
Intellij idea 报错:Error : java 不支持发行版本5
4 0
|
2天前
|
Java
Java 正则表达式总结
Java 正则表达式总结