石英 – 春季 – Java – 任务存储。如何将任务设置为已完成状态

huangapple 未分类评论48阅读模式
英文:

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);

huangapple
  • 本文由 发表于 2020年4月6日 22:12:01
  • 转载请务必保留本文链接:https://java.coder-hub.com/61061791.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定