I d do yes to be sure. Le 10 mars 2017 12:54, "Bodo Pfelzer" <bodo.pfel...@business-logics.de> a écrit :
> I compared the sources of 1.7.4 and 7.0.2 regarding the packae > org.apache.openejb.core.timer. From that I did not expect big > differences. But I could give it a try. I think I should try the variant > with quartz connected to a database? > > On 10.03.2017 12:45, Romain Manni-Bucau wrote: > > I see, > > > > did you try on tomee 7? recall we fixed some things in that are, not sure > > it fixes this exact case but 1.7 is quite old on that topic > > > > > > 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:36 GMT+01:00 Bodo Pfelzer <bodo.pfel...@business-logics.de > >: > > > >> 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 <bodo.pfelzer@business-logics. > de > >>> : > >>> > >>>> 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 <bodo.pfelzer@business-logics. > >> de> <bodo.pfel...@business-logics.de>: > >>>> > >>>> 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 > >>>> > >>>> > >>>> > >>>> > >>>> > >> > >