我在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