我在Activiti中擁有獨家網關,我如何在獨佔網關的Java代碼中設置條件變量?Activiti獨家網關 - 在Java中使用
variableData.put("condition", conditionVar);
taskService.complete(task.getId(), variableData);
如何在網關流上提取任務變量?是否有可能或者我必須使用過程變量?
我在Activiti中擁有獨家網關,我如何在獨佔網關的Java代碼中設置條件變量?Activiti獨家網關 - 在Java中使用
variableData.put("condition", conditionVar);
taskService.complete(task.getId(), variableData);
如何在網關流上提取任務變量?是否有可能或者我必須使用過程變量?
當你設計有條件獨家門戶您的工作流程,然後將生成的XML如下圖所示,
<exclusiveGateway id="exclusiveGw" name="Exclusive Gateway" />
<sequenceFlow id="flow2" sourceRef="exclusiveGw" targetRef="theTask1">
<conditionExpression xsi:type="tFormalExpression">${input == 1}</conditionExpression>
</sequenceFlow>
,所以你需要提供值爲'input'
變量爲
variableData.put("input", 1);
如果你的任務是ServiceTask
那麼你可以做類似下面
delegateExecution.setVariable("input",1);
如需更多幫助http://www.activiti.org/userguide/#bpmnExclusiveGateway
好的答案!幫助:) –
在過程部署時間:
org.activiti.engine.impl.bpmn.parser.factory.DefaultActivityBehaviorFactory
在Java中添加表達條件,並注入到ProcessEngineConfigurationImpl
在流程執行時間:
你可以n將過程變量添加爲您定義的表達式的變量。這可能是你的情況的結果是在Java中:${result == true}
variableData.put("result", resultOfJavaCondition); taskService.complete(task.getId(), variableData);
你能更好地描述正是你需要的? – fersmi