我正在使用 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)