Всем привет!
Имеется процесс, содержащий в себе подпроцесс по событию. Модель процесса выглядит примерно как на диаграмме ниже (опущены элементы, не имеющие отношения к проблеме).
Задача “Определить получателей и информировать” вызывает два делегата:
- listener на событии start - отбор получателей
- реализация задачи - информирование получателей
На задаче установлены признаки:
- async before = true,
- exclusive = true.
Сама задача может выполняться от 100 миллисекунд до 30 секунд.
Периодически срабатывает механизм защиты от блокировок:
2021-09-28 14:24:39.547 WARN 54417 --- [aTaskExecutor-2] org.camunda.bpm.engine.jobexecutor : ENGINE-14006 Exception while executing job a3317d27-204e-11ec-bb01-76d22c9ca3e8: OptimisticLockingException. To see the full stacktrace set logging level to DEBUG.
Что в свою очередь приводит к повторному срабатыванию задачи.
Строго говоря, одновременно может работать только один экземпляр подпроцесса, что позволило решить проблему обходным путем. Но хотелось бы найти альтернативные решения