cancel
Showing results for 
Search instead for 
Did you mean: 

Clustering Activiti

kenyoung
Champ in-the-making
Champ in-the-making
In looking over the documentation, does Activiti have built in capabilities for clustering?   If so, how do to configure it.

Thanks in advance
3 REPLIES 3

tombaeyens
Champ in-the-making
Champ in-the-making
You don't have to do anything for that.  Maybe we should document that 😉

Activiti uses optimistic locking on the DB to deal with concurrency.  So it leverages the DB capabilities for the hard work of concurrency control.  DB's are optimised for that.  That works just the same from 2 threads from the same ProcessEngine as from 2 threads on different ProcessEngines on different machines.  It's most efficient if you configure the JobExecutor only on one machine.  That prevents that multiple JobExecutors compete for the same jobs resulting in unnecessary optimistic locking failures.

But we don't have a lot of QA/CI for this yet.  We only tested proper operation of the optimistic locking exceptions by controlling individual threads from the unit test thread.  We hope to expand this soon to full load and stress testing.

If you experiment with this, let us know your findings.

tombaeyens
Champ in-the-making
Champ in-the-making

kenyoung
Champ in-the-making
Champ in-the-making
We use quartz in a similar fashion.  I'll test and report back if I have issues.  Thank you.