SpringBoot整合quartz框架启动定时任务报错:the given trigger will never fire.

 

org.quartz.SchedulerException: Based on configured schedule, the given trigger 'DEFAULT.cron_b1a91e1b-3285-430e-86c9-72e11d19e14f' will never fire.

 

这个报错可能是由于设置的任务时间不合法,或者是设置的时间是过去的时间,导致这个任务永远不会被启动,所以报错了

 

/**
 * 判断当前cron表达式是否是未来时间/合法
 * @param cronStr cron表达式
 * @return 是:true  否:false
 */
public static boolean checkCron(String cronStr) {
    try {

        CronExpression cron = new CronExpression(cronStr);
        Date nextValidTimeAfter = cron.getNextValidTimeAfter(new Date());
        if (nextValidTimeAfter == null) {
            //没有找到下一个合法时间
            return false;
        }
        boolean isCronGreaterThanCurrentTime = nextValidTimeAfter.after(new Date());
        if (isCronGreaterThanCurrentTime) {
            return true;
        } else {
            return false;
        }
    } catch (ParseException e) {
        log.error("cron表达式错误:", e);
    }
    return false;
}

 

 

 

SpringBoot整合quartz实现动态启动,停止定时任务功能 参考:https://www.cnblogs.com/pxblog/p/13396085.html

posted @ 2021-07-10 00:44  yvioo  阅读(1364)  评论(0编辑  收藏  举报