阅读量:0
在Activiti框架中,流程变量用于在流程实例的不同任务之间传递数据。以下是使用流程变量的方法:
- 设置流程变量:在启动流程实例或在任务执行过程中,可以通过Execution对象或Task对象的setVariable方法来设置流程变量。例如:
runtimeService.setVariable(executionId, "variableName", variableValue); taskService.setVariable(taskId, "variableName", variableValue);
- 获取流程变量:在任务执行过程中,可以通过Execution对象或Task对象的getVariable方法来获取流程变量。例如:
Object variableValue = runtimeService.getVariable(executionId, "variableName"); Object variableValue = taskService.getVariable(taskId, "variableName");
- 删除流程变量:在任务执行过程中,可以通过Execution对象或Task对象的removeVariable方法来删除流程变量。例如:
runtimeService.removeVariable(executionId, "variableName"); taskService.removeVariable(taskId, "variableName");
- 查询包含指定流程变量的流程实例:可以通过RuntimeService的createProcessInstanceQuery方法来查询包含指定流程变量的流程实例。例如:
List<ProcessInstance> processInstances = runtimeService.createProcessInstanceQuery() .variableValueEquals("variableName", variableValue) .list();
- 使用表达式设置流程变量:在流程定义中,可以使用表达式来设置流程变量的值。例如:
<userTask id="task1" name="Task 1"> <extensionElements> <activiti:executionListener event="start"> <activiti:field name="variableName" expression="${variableValue}"/> </activiti:executionListener> </extensionElements> </userTask>
通过以上方法,可以方便地在Activiti流程中管理和传递流程变量。