如何获取给定作业名称和组名称的cron表达式?

Gna*_*nam 6 java cron scheduler quartz-scheduler crontrigger

我正在使用Quartz Scheduler v.1.8.0.

如何获取已分配/附加到作业并使用CronTrigger计划的cron表达式?在这种情况下,我有工作名称和组名.虽然很多触发器可以指向同一个Job,但就我而言,它只有一个.

有一个在调度器类,可用的一种方法Scheduler.getTriggersOfJob(JOBNAME,组名),但它仅返回触发器阵列.

示例cronexpression: 0 /5 10-20 * * ?

注意:CronTrigger类扩展了Trigger

Viv*_*sse 16

您可以使用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();
    }
}
Run Code Online (Sandbox Code Playgroud)