具有条件流的BPMN基于事件的网关

时间:2015-05-20 13:13:53

标签: timer bpmn camunda event-gateway

我正在尝试建模一个基于事件的网关,它等待几条消息,并可选择一个定时器。在真实模型中使用它之前,我在单元测试中尝试了它,并且在camunda引擎中似乎完全忽略了条件。现在我想知道这是否应该由bpmn支持,如果没有,如果有一种简单的替代方法来模拟它。

process model

基于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);

1 个答案:

答案 0 :(得分:2)

这是不允许的。

  

事件网关的传出序列流必须没有conditionExpression

BPMN 2.0规范第10.5.6节,第297页

编辑:来源:http://www.omg.org/spec/BPMN/2.0/PDF