2015-05-20 80 views
1

我正在嘗試建模一個基於事件的網關,該網關等待幾條消息,並可選擇定時器。在真正的模型中使用它之前,我在一個單元測試中嘗試了它,而在camunda引擎中,這種情況完全被忽略了。現在我想知道這是否應該由bpmn支持,如果不是,如果有一個簡單的替代方法來模擬這個。帶有條件流程的基於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

這是不允許的。事件網關

外出順序流不能有conditionExpression

BPMN 2.0規範第10.5.6,頁297

編輯:來源:http://www.omg.org/spec/BPMN/2.0/PDF

+0

這將是如果你還給出了一個引用來源的鏈接,它會更好,它可能非常有用。 – jfun