@Override public synchronized void start(final StartContext context) throws StartException { logger.debug("Starting timerservice for timedObjectId: " + getInvoker().getTimedObjectId()); final EJBComponent component = ejbComponentInjectedValue.getValue(); this.transactionManager = component.getTransactionManager(); this.tsr = component.getTransactionSynchronizationRegistry(); final TimedObjectInvoker invoker = timedObjectInvoker.getValue(); if (invoker == null) { throw MESSAGES.invokerIsNull(); } final List<ScheduleTimer> timers = new ArrayList<ScheduleTimer>(); for (Map.Entry<Method, List<AutoTimer>> entry : autoTimers.entrySet()) { for (AutoTimer timer : entry.getValue()) { timers.add( new ScheduleTimer( entry.getKey(), timer.getScheduleExpression(), timer.getTimerConfig())); } } // restore the timers started = true; restoreTimers(timers); // register ourselves to the TimerServiceRegistry (if any) if (timerServiceRegistry != null) { timerServiceRegistry.registerTimerService(this); } }
public synchronized void activate() { final List<ScheduleTimer> timers = new ArrayList<ScheduleTimer>(); for (Map.Entry<Method, List<AutoTimer>> entry : autoTimers.entrySet()) { for (AutoTimer timer : entry.getValue()) { timers.add( new ScheduleTimer( entry.getKey(), timer.getScheduleExpression(), timer.getTimerConfig())); } } // restore the timers restoreTimers(timers); }