tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andy Gumbrecht <agumbre...@tomitribe.com>
Subject Re: Cluster + @Schedule
Date Thu, 16 Oct 2014 14:37:17 GMT
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
View raw message