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

标签 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);

最佳答案

这是不允许的。

The outgoing Sequence Flows of the Event Gateway MUST NOT have a conditionExpression

BPMN 2.0 规范第 10.5.6 节,第 297 页

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

关于timer - 具有条件流的 BPMN 基于事件的网关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30350776/

相关文章:

javascript - 单元格表上的多个倒计时器

javascript - Jquery定时器倒计时和计数

java - 如何查询流程定义的完成实例?

java - 具有 3 输出专用网关的 BPMN 图在 Camunda 中不起作用

android - Android Studio Timer任务在启动时使应用程序崩溃

c# - 如何用计时器引发事件?

bpmn - BPMN channel 上的多个实例

java - 使用 Java API 时没有 Activity 事件

spring - camunda-bpm-spring-boot-starter-webapp 依赖不工作和嵌入式 tomcat 失败