Hmm, not having any log is weird if you dont have a JVM crash. If you manage to reproduce it having at least a thread stack dump (using jstack for instance) would help
Romain Manni-Bucau @rmannibucau http://www.tomitribe.com http://rmannibucau.wordpress.com https://github.com/rmannibucau 2015-02-11 16:04 GMT+01:00 Matej <[email protected]>: > No log was noticed. But maybe we missed it. We will look further. But > definitely no periodic log. > > Like that: > > @Singleton > @Lock(LockType.READ) > public class TimerScheduler { > > @Resource > private TimerService timerService; > @Inject > Logger logger; > @Resource > private BeanManager beanManager; > > public void scheduleEvent(ScheduleExpression schedule, Object event, > Annotation... qualifiers) { > > timerService.createCalendarTimer(schedule, new TimerConfig(new > EventConfig(event, qualifiers), false)); > } > > @Timeout > private void timeout(Timer timer) { > final EventConfig config = (EventConfig) timer.getInfo(); > > beanManager.fireEvent(config.getEvent(), config.getQualifiers()); > } > > private final class EventConfig implements Serializable { > > private final Object event; > private final Annotation[] qualifiers; > > private EventConfig(Object event, Annotation[] qualifiers) { > this.event = event; > this.qualifiers = qualifiers; > } > > public Object getEvent() { > return event; > } > > public Annotation[] getQualifiers() { > return qualifiers; > } > } > } > > 2015-02-11 15:54 GMT+01:00 Romain Manni-Bucau <[email protected]>: > >> Hi >> >> how do you use TimerService? No log at all saying there is an issue? >> What's @Timeout method? >> >> >> Romain Manni-Bucau >> @rmannibucau >> http://www.tomitribe.com >> http://rmannibucau.wordpress.com >> https://github.com/rmannibucau >> >> >> 2015-02-11 15:48 GMT+01:00 Matej <[email protected]>: >> > Hi all. >> > >> > In production under load, we experienced a case were a particular timer >> > stopped working. >> > >> > I thought maybe a runstime exception stops a ScheduleExpression, but >> could >> > not simulate this. Glassfish I know was very sensible to this. >> > >> > Could a low EJB timer thread seeting cause a timer to stop, working. >> > >> > We use tomee 1.7 >> > >> > The timer is initialized like that. >> > >> > @Singleton >> > @Lock(LockType.READ) >> > @Startup >> > public class CommEtaUpdateCacheTimer { >> > >> > @Inject >> > private TimerScheduler scheduler; >> > >> > @PostConstruct >> > public void doit() { >> > final ScheduleExpression schedule = new ScheduleExpression() >> > .hour("*") >> > .minute("*") >> > .second("*/5"); >> > >> > scheduler.scheduleEvent(schedule, new >> > CommEtaUpdateCacheTimerEvent()); >> > } >> > >> > public void observe(@Observes CommEtaUpdateCacheTimerEvent event) { >> > /* >> > processing code. >> > */ >> > >> > } >> > >> > public static class CommEtaUpdateCacheTimerEvent { >> > } >> > } >> > >> > BR >> > >> > Matej >>
