cancel
Showing results for 
Search instead for 
Did you mean: 

Timer implementation clarification...

wolpert
Champ in-the-making
Champ in-the-making
I was wondering if there is some documentation that can explain more details on how timers are implemented. Specifically, in the case of embedding activiti in a cluster, and a timer event expires, how is the event executed by the timer processes? And on what thread does it run on? What system is in place so only one node in the cluster executes the event, and how is that node selected? (In my case, I'll be using the grails activiti plugin, should that matter.)

Thanks
2 REPLIES 2

frederikherema1
Star Contributor
Star Contributor
Timers events are executed using the JobExecutor, it has a pool of threads which it uses for this.

If you want to run activiti clustered, the best thing to do is to have the JobExecutor only running on one or two node to minimize risk of OptimisticLockingExceptions.  A retry-mechanism is built in to have the job executed again after failure.

Regarding clustering of activiti, in the very near future there will be documentation available on this topic.

tombaeyens
Champ in-the-making
Champ in-the-making
you should be able to run the job executor on multiple nodes as well.  but we don't have test coverage for that yet.