在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流程中管理和傳遞流程變量。