activiti变量


一、普通变量

activiti变量可以在启动流程的时候添加,所有的startProcessInstanceXXX方法,后面都可以添加变量。并且是在整个流程中,变量都能被获取到。

变量也可以在执行任务的时候添加,(RuntimeService):

void setVariable(String executionId, String variableName, Object value);
void setVariableLocal(String executionId, String variableName, Object value);
void setVariables(String executionId, Mapextends Object> variables);
void setVariablesLocal(String executionId, Mapextends Object> variables);
TaskService同样有以上四个方法
void setVariable(String executionId, String variableName, Object value);
void setVariableLocal(String executionId, String variableName, Object value);
void setVariables(String executionId, Mapextends Object> variables);
void setVariablesLocal(String executionId, Mapextends Object> variables);

在完成任务的时候,也可以添加变量,变量的范围同样是整个流程。

经测试,不管是普通变量还是本地变量,设置完后在整个流程都能被取到。作用域很大

 在子流程设置local变量,子流程结束后面的任务依旧可以取到流程变量

结论:不管怎么设置,变量的作用域都是整个流程

二、瞬态变量

瞬态变量,类似于常规变量但不持久化的变量。

瞬态变量同样存储在流程实例执行中,作用域是整个流程。

相关