How to query the scheduled jobs from Quartz scheduler?

廉价感情. 提交于 2019-12-10 11:54:49

问题


I have a Scheduler object in my application and I add Jobs to it using the scheduleJob method.

In my code I schedule Jobs with an instant Trigger:

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

My question is how to tell which Jobs are scheduled into my Scheduler? There is only a getCurrentlyExecutingJobs method which seems unreliable so far.


回答1:


The below code list all Quartz job associated to a scheduler (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);

  }

}


来源:https://stackoverflow.com/questions/22556304/how-to-query-the-scheduled-jobs-from-quartz-scheduler

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!