在Activiti框架中,流程变量用于在流程实例的不同任务之间传递数据。以下是使用流程变量的方法:
runtimeService.setVariable(executionId, "variableName", variableValue);
taskService.setVariable(taskId, "variableName", variableValue);
Object variableValue = runtimeService.getVariable(executionId, "variableName");
Object variableValue = taskService.getVariable(taskId, "variableName");
runtimeService.removeVariable(executionId, "variableName");
taskService.removeVariable(taskId, "variableName");
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流程中管理和传递流程变量。