9

我正在使用 Quartz Scheduler v.1.8.0。

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

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

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

注意:CronTrigger类扩展了触发器

4

1 回答 1

20

您可以使用 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();
    }
}
于 2010-09-04T09:12:48.610 回答