In my EJB I use timerService.createTimer() to schedule a task for next month. And this task should be executed regardless whether the server is restarted or not in the meantime.
On 10.03.2017 12:29, Romain Manni-Bucau wrote: > the timerstore need is mainly to handle the transactionality AFAIK and > doesnt assume anything about quartz or not. We can surely drop a part today. > > Not sure what you mean by "persistent quartz timer are wanted", have to > admit I almost always use not persistent timers. > > Do you try to solve a particular issue? > > > Romain Manni-Bucau > @rmannibucau <https://twitter.com/rmannibucau> | Blog > <https://blog-rmannibucau.rhcloud.com> | Old Blog > <http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> | > LinkedIn <https://www.linkedin.com/in/rmannibucau> | JavaEE Factory > <https://javaeefactory-rmannibucau.rhcloud.com> > > 2017-03-10 12:17 GMT+01:00 Bodo Pfelzer <[email protected]>: > >> Hi Romain, >> >> I do not really understand the interplay between quartz, TimerStore and >> EjbTimerServiceImpl. As far as I understand, EjbTimerServiceImpl writes all >> Timers into quartz and TimerStore. TimerStore contains the Timers that are >> visible to the EJB and quartz contains the Timers that are actually >> executed. Reading https://issues.apache.org/jira/browse/OPENEJB-1867 I >> assume, that using persistent quartz timers is allowed and even wanted in >> TomEE, but the persisted timers are neglected by TimerStore during startup. >> My ugly patch (see attached file) copies the Timers persisted by quartz >> into TimerStore. >> >> But I do not understand the need for the TimerStore itself. In my opinion >> one could avoid the duplicate storage of Timers and retrieve everything >> from quartz itself, especially when using different GroupNames for >> different deployments. Is there any reason for that? Otherwise I would like >> to adjust EjbTimerServiceImpl in a way that does not need a TimerStore, or >> at least try a "QuartzTimerStore". But modifiying the group name would be >> nice for that. >> >> Bodo >> >> On 09.03.2017 15:00, Romain Manni-Bucau wrote: >> >> Hi >> >> needs a custom timerstore I think >> (seehttps://issues.apache.org/jira/browse/TOMEE-785) >> >> >> Romain Manni-Bucau >> @rmannibucau <https://twitter.com/rmannibucau> >> <https://twitter.com/rmannibucau> | >> Blog<https://blog-rmannibucau.rhcloud.com> >> <https://blog-rmannibucau.rhcloud.com> | Old >> Blog<http://rmannibucau.wordpress.com> <http://rmannibucau.wordpress.com> | >> Github <https://github.com/rmannibucau> <https://github.com/rmannibucau> | >> LinkedIn <https://www.linkedin.com/in/rmannibucau> >> <https://www.linkedin.com/in/rmannibucau> | JavaEE >> Factory<https://javaeefactory-rmannibucau.rhcloud.com> >> <https://javaeefactory-rmannibucau.rhcloud.com> >> >> 2017-03-09 14:44 GMT+01:00 Bodo Pfelzer <[email protected]> >> <[email protected]>: >> >> >> I tried to configure persistent timers in TomEE-1.7.4 by adding: >> >> org.apache.openejb.quartz.jobStore.class >> org.apache.openejb.quartz.impl.jdbcjobstore.JobStoreCMT >> org.apache.openejb.quartz.jobStore.driverDelegateClass >> org.apache.openejb.quartz.impl.jdbcjobstore.StdJDBCDelegate >> org.apache.openejb.quartz.jobStore.dataSource ActiveDataSource >> org.apache.openejb.quartz.jobStore.nonManagedTXDataSource >> NoTxActiveDataSource >> org.apache.openejb.quartz.dataSource.ActiveDataSource.jndiURL >> openejb:Resource/ActiveDataSource >> org.apache.openejb.quartz.dataSource.NoTxActiveDataSource.jndiURL >> openejb:Resource/NoTxActiveDataSource >> >> to my system.properties. And yes, my EJB method annotated with @Timeout >> gets called, even if TomEE was restarted during the creation of the >> timer and its expiration. But two things do not work as expected: >> >> timerServer.getTimers() returns an empty collection after restart though >> active timers exist. And perhaps even worse: Old timers get overwritten >> by new ones, since MemoryTimerStore.counter always starts from zero >> after restart. >> >> Am I missing something in my configuration? How could I replace >> MemoryTimerStore? >> >> Best regards, >> Bodo >> >> >> >> >>
