我正在使用Quartz Scheduler v.1.8.0。
如何获取已分配/附加到作业并使用CronTrigger计划的cron表达式?在这种情况下,我有工作名称和组名。虽然很多触发器可以指向同一个Job,但就我而言,它只有一个。
Scheduler类Scheduler.getTriggersOfJob(jobName, groupName)中有一个方法可用,但它只返回 Trigger 数组。
示例cronexpression:0 /5 10-20 * * ?
注意:类 CronTrigger 扩展触发器
答案 0 :(得分: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();
}
}