如何从Quartz调度程序查询预定作业?

时间:2014-03-21 10:32:54

标签: java quartz-scheduler

我的应用程序中有一个Scheduler对象,我使用Job方法向其中添加了scheduleJob

在我的代码中,我使用即时Job安排Trigger

TriggerBuilder.newTrigger().startNow().build();

我的问题是如何判断哪些Job被安排到我的Scheduler?到目前为止,只有getCurrentlyExecutingJobs方法似乎不可靠。

1 个答案:

答案 0 :(得分:5)

以下代码列出了与调度程序关联的所有Quartz作业(Quartz 2.x.x)

for (String groupName : scheduler.getJobGroupNames()) {

 for (JobKey jobKey : scheduler.getJobKeys(GroupMatcher.jobGroupEquals(groupName))) {

  String jobName = jobKey.getName();
  String jobGroup = jobKey.getGroup();

  //get job's trigger
  List<Trigger> triggers = (List<Trigger>) scheduler.getTriggersOfJob(jobKey);
  Date nextFireTime = triggers.get(0).getNextFireTime(); 

    System.out.println("[jobName] : " + jobName + " [groupName] : "
        + jobGroup + " - " + nextFireTime);

  }

}