BPMN-шлюз на основе событий с условным потоком

Я пытаюсь смоделировать основанный на событиях шлюз, который ожидает несколько сообщений и, возможно, таймер. Перед использованием этого в реальной модели я попробовал это в модульном тесте, и кажется, что в двигателе камунды условие полностью игнорируется. Теперь мне интересно, поддерживается ли это bpmn, если нет, то есть ли простой альтернативный способ смоделировать это.

модель процесса

Код для модульного тестирования, основанный на проекте https://github.com/camunda/camunda-engine-unittest, выглядит следующим образом:

Map<String, Object> variables = singletonMap("isTimerActive", (Object) false);
ProcessInstance pi = runtimeService.startProcessInstanceByKey("testProcess", variables);
assertFalse("Process instance should not be ended", pi.isEnded());

String id = pi.getProcessInstanceId();
Job timer = managementService.createJobQuery().processInstanceId(id).timers().active().singleResult();

assertNull(timer);

1 ответ

Решение

Это не разрешено

Исходящие потоки последовательностей шлюза событий НЕ ДОЛЖНЫ иметь выражение условия

Спецификация BPMN 2.0, раздел 10.5.6, стр. 297

редактировать: источник: http://www.omg.org/spec/BPMN/2.0/PDF

Другие вопросы по тегам