java - 0/0 的 Quartz cron 表达式

标签 java quartz-scheduler cronexpression

作为输入验证的一部分,我在考虑这是否是一个真正有效的 cron 表达式以及它将如何执行:

0 0/0 * * * ?

Quartz 验证返回 true

org.quartz.CronExpression.isValidExpression("0 0/0 * * * ?")

那么,它是否一直在运行,从不,每小时或每分钟......?

最佳答案

您可以使用 TriggerUtils.computeFireTimesBetween() 找到结果:

try {
        CronTriggerImpl cron = new CronTriggerImpl();

        cron.setStartTime(new Date());
        cron.setCronExpression("0 0/0 * * * ?");

        BaseCalendar calendar = new BaseCalendar();
        List<Date> result = TriggerUtils.computeFireTimesBetween(cron, calendar, new Date(),DateBuilder.futureDate(1, IntervalUnit.DAY));

        for (Date date : result) {
            System.out.println(date);
        }

    } catch (ParseException e) {
        e.printStackTrace();
    }

输出是:

Thu Apr 05 18:00:00 CST 2012
Thu Apr 05 19:00:00 CST 2012
Thu Apr 05 20:00:00 CST 2012
Thu Apr 05 21:00:00 CST 2012
Thu Apr 05 22:00:00 CST 2012
Thu Apr 05 23:00:00 CST 2012
Fri Apr 06 00:00:00 CST 2012
Fri Apr 06 01:00:00 CST 2012
Fri Apr 06 02:00:00 CST 2012
Fri Apr 06 03:00:00 CST 2012
Fri Apr 06 04:00:00 CST 2012
.......................

因此,0 0/0 * * * ? 将在每小时 0 分 0 秒运行。

关于java - 0/0 的 Quartz cron 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10024576/

相关文章:

java - 实体对象应该执行代码吗?

java - linux安装jdk 1.7时报错

java - Quartz Scheduler - 在作业之间仅更新 JobDataMap

quartz-scheduler - 我如何使用quartz发送/安排电子邮件

r - 将 cron 转换为 R 中的时间戳

c# - 每月、每周和每天的 Quartz.Net Cron 表达式

java - Grails - 通过从基类中选择来使用父类(super class)

java - 用于 Java 的 Unirest

java - org.quartz.jobStore.clusterCheckinInterval 的推荐值

oracle - 在Oracle数据库中存储重复时间段