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
>>
>>
>>
>>
>>

Reply via email to