英文:
Quartz - Spring - Java - Jobstore. how to set job in completed state
问题
我寻求帮助,我已经通过Quartz在作业车间安排了作业,一切都正常,有些作业在Oracle上调用过程。当过程返回特定结果时,我想将作业设置为完成状态。我可以暂停作业,但无法标记为已完成。
if(!result.substring(0,4).equalsIgnoreCase("null")) {
fase_1.callJobResult("JOB_RESULT", key.getName().toString(), key.getGroup().toString(), strJobex+":"+parameter, result);
}else {
// 我暂停作业,因为已经完成
try {
fase_1.callJobResult("JOB_RESULT", key.getName().toString(), key.getGroup().toString(), strJobex+":"+parameter,"SUCCESS. Il job : " + key.getName().toString().toUpperCase() + " 作业已完成");
System.out.println(result);
// 调度器
SchedulerFactory factory = new StdSchedulerFactory();
Scheduler scheduler = factory.getScheduler();
JobKey jobKey = new JobKey(key.getName().toString(), key.getGroup().toString());
//scheduler.pauseJob(jobKey); // 例子,这样可以工作
Trigger trigger = jobExecutionContext.getTrigger();
//Trigger.CompletedExecutionInstruction.NOOP.SET_TRIGGER_COMPLETE()
TriggerListner tl = new TriggerListner();
tl.triggerComplete(trigger, jobExecutionContext, CompletedExecutionInstruction.SET_TRIGGER_COMPLETE);
英文:
I ask for help, I have jobs scheduled through quartz in a job shop, everything works some jobs that call procedures on Oracle. I would like to put the job in a complete state when a procedure returns a certain result. I can pause the job but not in completed.
if(!result.substring(0,4).equalsIgnoreCase("null")) {
fase_1.callJobResult("JOB_RESULT", key.getName().toString(), key.getGroup().toString(), strJobex+":"+parameter, result);
}else {
// I pause the job because it has been completed
try {
fase_1.callJobResult("JOB_RESULT", key.getName().toString(), key.getGroup().toString(), strJobex+":"+parameter,"SUCCESS. Il job : " + key.getName().toString().toUpperCase() + " job completed");
System.out.println(result);
//Scheduler scheduler;
SchedulerFactory factory = new StdSchedulerFactory();
Scheduler scheduler = factory.getScheduler();
JobKey jobKey = new JobKey(key.getName().toString(), key.getGroup().toString());
//scheduler.pauseJob(jobKey); // example this work
Trigger trigger = jobExecutionContext.getTrigger();
//Trigger.CompletedExecutionInstruction.NOOP.SET_TRIGGER_COMPLETE()
TriggerListner tl = new TriggerListner();
tl.triggerComplete(trigger, jobExecutionContext, CompletedExecutionInstruction.SET_TRIGGER_COMPLETE);
专注分享java语言的经验与见解,让所有开发者获益!
评论