2

我正在使用 Quartz 调度程序的 DB Job Store 来定期安排我的运行。为了获得所有现有的工作及其状态,我使用以下代码:

    for(String jobGroupName : scheduler.getJobGroupNames() {
        for(String jobName : scheduler.getjobNames(jobGroupName) {
            JobDetail jobDetail = scheduler.getJobDetail(jobName, jobGroupName);
            Trigger[] triggers = scheduler.getTriggersOfJob(jobName, jobGroupName); 
            Trigger trigger = triggers[0];
            int jobState = scheduler.getTriggerState(trigger.getName(), trigger.getGroup());
        } 
    }

我还实现了作业接口,如下所示

    public class jobImpl implements Job {
        public void execute(JobExecutionContext arg) {
          // My Code 
        }
    }

每当我调用获取现有作业及其状态的代码(第一个代码示例)时,都会触发 jobImpl 中的 execute 方法。

有人可以帮我解决这个问题吗?

@托马斯

这是堆栈跟踪:

      java.lang.NullPointerException 
      [junit] at com.JobImpl.execute(JobImpl.java:24)                 
      [junit] at org.quartz.core.JobRunShell.run(JobRunShell.java:216) 
      [junit] at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)
4

0 回答 0