tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Leonardo K. Shikida" <shik...@gmail.com>
Subject Re: Cluster + @Schedule
Date Fri, 17 Oct 2014 13:41:46 GMT
Thanks Andy and Romain. That's exactly what I was looking for.

[]

Leo

On Thu, Oct 16, 2014 at 11:37 AM, Andy Gumbrecht <agumbrecht@tomitribe.com>
wrote:

> Hi Leonardo,
>
> Never feel like a question is dumb if you're searching for an answer.
> That's why we are here.
>
> You will find information on clustering Quartz using a JDBC JobStore here:
> http://quartz-scheduler.org/generated/2.2.1/html/qs-all/#
> page/Quartz_Scheduler_Documentation_Set/re-cls_cluster_configuration.html#
>
> Just make sure those properties are consistent across your TomEE cluster
> and you'll be fine.
>
> The @Schedule is more tricky as you will be responsible for obtaining a
> cluster wide lock from that method.
> The easiest way would be to configure a DataSource to a central database
> that is accessible by all the TomEE instances in the cluster - Use a simple
> table with a BIT type and a DATETIME
> Whichever '@Schedule' method gets the lock can then run the operation (and
> unlock afterwards, so use a try/finally block) - The date can be used to
> check for a lock timeout if a method fails to unlock for whatever reason (a
> crash for example).
>
> Andy.
>
>
> On 16/10/2014 12:27, Leonardo K. Shikida wrote:
>
>> Hi
>>
>> this doubt may sound dumb, but if I have an EJB with a scheduled task like
>>
>>      @Schedule(dayOfWeek = "*")
>>      public void runMeDaily() {...}
>>
>> and if I am in a clustered environment, is there any way to make this job
>> run in only one of the instances? (only once)
>>
>> of course, I can set a flag somewhere and check it before the execution of
>> such task, so only the first cluster instance would run it, but I am
>> curious if it's possible using some configuration magic.
>>
>> another doubt is: if I have 2 clustered tomee instances, how do I make
>> both
>> point to the same scheduler? By scheduler I mean something like
>>
>> Scheduler scheduler = new StdSchedulerFactory().
>> getScheduler("myScheduler");
>>
>> My feeling is that my cluster will need a centralized quartz scheduler
>> service somehow, so if there's some way to do that using tomee, it would
>> be
>> useful for me.
>>
>> TIA
>>
>> Leo
>>
>>
>
> --
>   Andy Gumbrecht
>   https://twitter.com/AndyGeeDe
>   http://www.tomitribe.com
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message