activiti变量

一、普通变量

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

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

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

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

 

 

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

 

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

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

二、瞬态变量

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

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

 

posted @ 2021-06-29 16:02  张碧晨  阅读(462)  评论(0)    收藏  举报