在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流程中管理和传递流程变量。