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 ?
Actually, we already got lots of ActivitiOptimisticLockingException and Mysql Deadlock now.