Как обрабатывать состояние исключения в activiti bpmn

Как activiti обрабатывает состояние исключения? Если в какой-либо задаче возникнет ошибка, как поток вернется к шагу, с которого задачу можно будет выполнить снова?


person Soumyajit Swain    schedule 25.04.2014    source источник


Ответы (1)


На этот вопрос есть пара ответов. Если задача является задачей java или сценария и выполняется синхронно, то возобновление неудачного экземпляра (обычно вызванного техническим исключением) происходит из последнего сохраненного состояния (помните, механизм BPM — это просто конечный автомат).

Теперь вы можете (очевидно) добавлять обработчики исключений (особенно в версии 5.15, в которой представлены обработчики событий) для конкретной задачи или для экземпляра процесса в целом. Эти обработчики исключений позволяют вам управлять откатом транзакций (зависит от используемого менеджера транзакций).

Наконец, вы можете поднять bpmnEvent до модели процесса и обрабатывать исключения/компенсации с помощью прикрепленного/граничного обработчика событий в модели BPMN.

Надеюсь это поможет. Грег Харли.

person Greg Harley    schedule 27.04.2014