我正在使用Quartz Scheduler v.1.8.0。

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

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

cronexpression示例:0 /5 10-20 * * ?
注意:类CronTrigger扩展了触发器

最佳答案

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

然后,分析此数组的内容,测试触发器是否为CronTrigger,并将其强制转换为CronTrigger实例。然后,getCronExpression()方法应返回您要查找的内容。

这是一个代码示例:

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

关于java - 如何获得给定工作名称和组名称的cron表达式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3641575/

10-08 23:48