public void dispose() { // for ( TimerInstance timer : timers.values() ) { // timerService.removeJob( timer.getJobHandle() ); // } if (timerService instanceof RegisteredTimerServiceDelegate) { timers.clear(); return; } for (Iterator<TimerInstance> it = timers.values().iterator(); it.hasNext();) { TimerInstance timer = it.next(); timerService.removeJob(timer.getJobHandle()); it.remove(); } timerService.shutdown(); }
public void cancelTimer(long timerId) { try { kruntime.startOperation(); TimerInstance timer = timers.remove(timerId); if (timer != null) { timerService.removeJob(timer.getJobHandle()); } } finally { kruntime.endOperation(); } }
protected void updateBasedOnTrigger(TimerInstance timerInstance) { Trigger trigger = ((DefaultJobHandle)timerInstance.getJobHandle()).getTimerJobInstance().getTrigger(); if (trigger instanceof IntervalTrigger && timerInstance.getPeriod() > 0) { IntervalTrigger intervalTrigger = (IntervalTrigger) trigger; if (timerInstance.getRepeatLimit() > 0) { timerInstance.setRepeatLimit(intervalTrigger.getRepeatLimit() - intervalTrigger.getRepeatCount() + 1); // +1 because repeatCount contains also one last scheduled, but cancelled trigger } long delay; if (intervalTrigger.getLastFireTime() != null) { // it is already fired calculate the new delay using the period instead of the delay delay = timerInstance.getPeriod() - (System.currentTimeMillis() - intervalTrigger.getLastFireTime().getTime()); } else { delay = timerInstance.getDelay() - (System.currentTimeMillis() - intervalTrigger.getCreatedTime().getTime()); } timerInstance.setDelay(delay); } }
public void dispose() { // for ( TimerInstance timer : timers.values() ) { // timerService.removeJob( timer.getJobHandle() ); // } if (timerService instanceof RegisteredTimerServiceDelegate) { timers.clear(); return; } for (Iterator<TimerInstance> it = timers.values().iterator(); it.hasNext();) { TimerInstance timer = it.next(); timerService.removeJob(timer.getJobHandle()); it.remove(); } timerService.shutdown(); }
public void cancelTimer(long timerId) { try { kruntime.startOperation(); TimerInstance timer = timers.remove(timerId); if (timer != null) { timerService.removeJob(timer.getJobHandle()); } } finally { kruntime.endOperation(); } }
protected void updateBasedOnTrigger(TimerInstance timerInstance) { Trigger trigger = ((DefaultJobHandle)timerInstance.getJobHandle()).getTimerJobInstance().getTrigger(); if (trigger instanceof IntervalTrigger && timerInstance.getPeriod() > 0) { IntervalTrigger intervalTrigger = (IntervalTrigger) trigger; if (timerInstance.getRepeatLimit() > 0) { timerInstance.setRepeatLimit(intervalTrigger.getRepeatLimit() - intervalTrigger.getRepeatCount() + 1); // +1 because repeatCount contains also one last scheduled, but cancelled trigger } long delay; if (intervalTrigger.getLastFireTime() != null) { // it is already fired calculate the new delay using the period instead of the delay delay = timerInstance.getPeriod() - (System.currentTimeMillis() - intervalTrigger.getLastFireTime().getTime()); } else { delay = timerInstance.getDelay() - (System.currentTimeMillis() - intervalTrigger.getCreatedTime().getTime()); } timerInstance.setDelay(delay); } }