我正在尝试建模一个基于事件的网关,它等待几条消息,并可选择一个定时器。在真实模型中使用它之前,我在单元测试中尝试了它,并且在camunda引擎中似乎完全忽略了条件。现在我想知道这是否应该由bpmn支持,如果没有,如果有一种简单的替代方法来模拟它。
基于camunda-engine-unit-test project的单元测试代码如下:
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);
答案 0 :(得分:2)
这是不允许的。
事件网关的传出序列流必须没有conditionExpression
BPMN 2.0规范第10.5.6节,第297页