AnsweredAssumed Answered

How to avoid book multiple tickets for async task

Question asked by dean on Aug 5, 2017
Latest reply on Aug 9, 2017 by warper

I read the docs https://www.activiti.org/userguide/#_what_are_exclusive_jobs 

and saw the comment 

If a job has non-transactional side effects, those will not be rolled back by the failing transaction. For instance, if the "book concert tickets" service does not share the same transaction as Activiti, we might book multiple tickets if we retry the job.

Say we have some aysnc task that invoke webservice e.g. book ticket from webservice, in this kind of task if ActivitiOptimisticLockingException occurred, we may got 3 tickets. But we do want only 1 call. how to avoid retry for these scenario?

Plus, we still need retry for non-webserivce task, so how do we deal with it ?

Thx.

Actually, we already got lots of ActivitiOptimisticLockingException and Mysql Deadlock now.

Async Service Task executed multi-times in cluster  

Outcomes