Пустые события (None Events)
|
Этот раздел перенесён из документации Camunda 7 и в дальнейшем будет доработан с учётом особенностей OpenBPM Engine |
Пустые события — это неопределённые события, также называемые «blank»-событиями. Например, пустое стартовое событие (none start event) технически означает, что триггер запуска экземпляра процесса не задан. Это означает, что движок не может заранее определить, когда должен быть запущен экземпляр процесса. Пустое стартовое событие используется в тех случаях, когда экземпляр процесса запускается через API, путём вызова одного из методов startProcessInstanceBy….
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("invoice");
|
Подпроцесс всегда должен содержать пустое стартовое событие (none start event). |
Пустое конечное событие (None End Event)
Пустое конечное событие означает, что результат, возникающий при достижении события, не определён. Соответственно, движок не выполняет никаких действий, кроме завершения текущего пути выполнения. XML-представление пустого конечного события — это обычное объявление конечного события без каких-либо вложенных элементов (в отличие от других типов конечных событий, которые всегда содержат подэлемент, определяющий тип).
<endEvent id="end" name="my end event" />
Промежуточное пустое событие (генерирующее)
Следующая диаграмма процесса показывает простой пример промежуточного пустого события, которое часто используется для обозначения достижения некоторого состояния в процессе.
Такое событие может служить удобной точкой для мониторинга KPI — например, за счёт добавления execution listener.
<intermediateThrowEvent id="noneEvent">
<extensionElements>
<camunda:executionListener
class="io.openbpm.bpm.engine.test.bpmn.event.IntermediateNoneEventTest$MyExecutionListener"
event="start" />
</extensionElements>
</intermediateThrowEvent>
В обработчик выполнения (execution listener) можно добавить собственный код, например для отправки события в BAM-систему или хранилище данных (DWH). Сам движок при достижении такого события не выполняет никаких действий — он просто «проходит» через него.
Расширения OpenBPM Engine
Атрибуты |
|
Элементы расширений |
|
Ограничения |
Атрибут camunda:exclusive учитывается только в том случае, если атрибут camunda:asyncBefore или camunda:asyncAfter установлен в значение true |
Лицензия и атрибуция
Эта документация была создана на базе материала "Camunda 7 Docs" от Camunda, находится под лицензией Creative Commons Attribution-ShareAlike 3.0 Unported License .
Оригинал документации: https://docs.camunda.org