AT:
- ensure that exclusive jobs can only acquire once
Use Case
- multiple job executors (JE1, JE2)
- multiple exclusive jobs for same process instance (J1, J2)
- parallel job acquirement (two queries: findNextJobsToExecute + findExclusiveJobsToExecute)
- JE1 > findNextJobsToExecute = J2 (J1 is locked)
- JE1 > findExclusiveJobsToExecute = J2
- JE2 > findNextJobsToExecute = J1 + J2 (J1 rolled back)
- JE2 > findExclusiveJobsToExecute = J1 (J2 is already locked)
- JE2 > findExclusiveJobsToExecute = J1 (J1 is added twice)