【问题标题】:How to get cron expression given job name and group name?如何在给定作业名称和组名称的情况下获取 cron 表达式?
【发布时间】:2012-08-14 04:56:52
【问题描述】:

我正在使用 Quartz Scheduler v.1.8.0。

如何获取分配/附加到作业并使用CronTrigger 安排的 cron 表达式?在这种情况下,我有工作名称和组名称。虽然许多触发器可以指向同一个 Job,但在我的例子中它只有一个。

Scheduler 类中有一个方法,Scheduler.getTriggersOfJob(jobName, groupName),但它只返回 Trigger 数组。

示例 cron 表达式:0 /5 10-20 * * ?

注意:CronTrigger 扩展了 Trigger

【问题讨论】:

    标签: java cron quartz-scheduler scheduler crontrigger


    【解决方案1】:

    您可以使用 Scheduler.getTriggerOfJob。此类在 Trigger[] 中返回给定 jobName 和 groupName 的所有触发器。

    然后,分析这个数组的内容,测试Trigger是否是CronTrigger,然后强制转换得到CronTrigger实例。然后,getCronExpression() 方法应该返回您要查找的内容。

    这是一个代码示例:

    Trigger[] triggers = // ... (getTriggersOfJob)
    for (Trigger trigger : triggers) {
        if (trigger instanceof CronTrigger) {
            CronTrigger cronTrigger = (CronTrigger) trigger;
            String cronExpr = cronTrigger.getCronExpression();
        }
    }
    

    【讨论】:

    • 谢谢,我可以看到我的 cron 表达式了。顺便说一句,您的代码示例中的一个小修正:Cron**T**rigger cronTrigger = (CronTrigger) trigger;.
    猜你喜欢
    • 2013-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多