protected void callTimeout(TimerImpl timer) throws Exception {
CalendarTimer calendarTimer = (CalendarTimer) timer;
// if we have any more schedules remaining, then schedule a new task
if (calendarTimer.getNextExpiration() != null && !calendarTimer.isInRetry()) {
calendarTimer.scheduleTimeout(false);
}
// finally invoke the timeout method through the invoker
if (calendarTimer.isAutoTimer()) {
TimedObjectInvoker invoker = this.timerService.getInvoker();