@Override public boolean removeJob(JobHandle jobHandle) { if (jobHandle == null) { return false; } jobHandle.setCancel( true ); JobContext jobContext = ((GlobalJDKJobHandle) jobHandle).getTimerJobInstance().getJobContext(); try { ProcessJobContext processCtx = null; if (jobContext instanceof SelfRemovalJobContext) { processCtx = (ProcessJobContext) ((SelfRemovalJobContext) jobContext).getJobContext(); } else { processCtx = (ProcessJobContext) jobContext; } String jobname = processCtx.getSessionId() + "-" + processCtx.getProcessInstanceId() + "-" + processCtx.getTimer().getId(); if (processCtx instanceof StartProcessJobContext) { jobname = "StartProcess-"+((StartProcessJobContext) processCtx).getProcessId()+ "-" + processCtx.getTimer().getId(); } activeTimer.remove(jobname); globalTimerService.getTimerJobFactoryManager().removeTimerJobInstance( ((GlobalJDKJobHandle) jobHandle).getTimerJobInstance() ); } catch (ClassCastException e) { // do nothing in case ProcessJobContext was not given } boolean removed = this.scheduler.remove( (Runnable) ((GlobalJDKJobHandle) jobHandle).getFuture() ); return removed; }
@Override public boolean removeJob(JobHandle jobHandle) { if (jobHandle == null) { return false; } jobHandle.setCancel( true ); JobContext jobContext = ((GlobalJDKJobHandle) jobHandle).getTimerJobInstance().getJobContext(); try { ProcessJobContext processCtx = null; if (jobContext instanceof SelfRemovalJobContext) { processCtx = (ProcessJobContext) ((SelfRemovalJobContext) jobContext).getJobContext(); } else { processCtx = (ProcessJobContext) jobContext; } String jobname = processCtx.getSessionId() + "-" + processCtx.getProcessInstanceId() + "-" + processCtx.getTimer().getId(); if (processCtx instanceof StartProcessJobContext) { jobname = "StartProcess-"+((StartProcessJobContext) processCtx).getProcessId()+ "-" + processCtx.getTimer().getId(); } activeTimer.remove(jobname); globalTimerService.getTimerJobFactoryManager().removeTimerJobInstance( ((GlobalJDKJobHandle) jobHandle).getTimerJobInstance() ); } catch (ClassCastException e) { // do nothing in case ProcessJobContext was not given } boolean removed = this.scheduler.remove( (Runnable) ((GlobalJDKJobHandle) jobHandle).getFuture() ); return removed; }