流程变量分为两种:全局变量和局部变量。

文章目录

  • 全局变量(Variable)
    • 1、通过启动流程设置
    • 2、通过当前实例进行设置
    • 3、通过任务设置
    • 4.完成任务时设置
  • 局部变量( VariableLocal )

全局变量(Variable)

全部变量针对于processInstance,通过流程或者任务查询变量,均可以查询到。但是设置流程变量的时候,流程变量名称相同的时候,后一次的值替换前一次的值。设置有多种方式:

1、通过启动流程设置

runtimeService.startProcessInstanceByKey(processDefinitionKey, variables);

2、通过当前实例进行设置

runtimeService.setVariables(任务ID, 变量map);
runtimeService.setVariable(节点ID,变量名,变量值);

3、通过任务设置

taskService.setVariables(任务ID, 变量map);
taskService.setVariable(节点ID,变量名,变量值);

4.完成任务时设置

taskService.complete(taskId, variables);

局部变量( VariableLocal )

局部变量针对于execution、task。设置局部变量,local变量的好处是,可以在每个分支使用同名的变量,互相之间不受影响,会签multi-instance就是通过local局部变量实现的。

taskService.setVariableLocal(任务ID,变量名,变量值)

以下转:

在刚开始学习的时候,当时我就发现,使用setVariablesLocal设置的流程变量,在下一个任务节点处获取不到。所以,它们的区别如下:

​ (1)setVariable设置的流程变量,生命周期与“流程实例对象”一致。这说明,只要当前这个流程实例还没有走完,都可以在act_ru_variable表中查询到指定的流程变量。

​ setVariableLocal设置的流程变量,生命周期与“当前任务对象”一致。这说明,当前流程变量只能在当前任务期间获取。如果流程执行到下一个任务节点,那么将获取不到。

​ (2)setVariable设置的流程变量,如果是同名的流程变量,将会出现覆盖的情况。而setVariableLocal则不会,它在act_ru_variable表中,用Task_ID_字段维护了此流程变量。另外,当流程继续执行时,下个任务获取不到这个流程变量。因为正在执行的流程变量中没有这个数据,所以查询正在执行的任务时不能查询到我们需要的数据,此时需要查询历史的流程变量。

​ 注:对于setVariable 可以覆盖流程变量的特点,可以用同一个流程变量控制

activiti变量 全局变量和局部变量相关推荐

  1. 【Linux命令行】使用Linux环境变量:全局变量、局部变量、用户定义变量

    文章目录 什么是环境变量 全局环境变量 局部环境变量 创建自己的局部变量 设置局部用户定义变量 设置全局环境变量 删除环境变量 默认shell环境变量 设置PATH环境变量 定位环境变量 登录shel ...

  2. Linux shell 学习笔记(4)— linux 环境变量(全局变量、局部变量及变量持久化)

    1. 环境变量概念及分类 bash shell 用一个叫作环境变量(environment variable)的特性来存储有关 shell 会话和工作环境的信息(这也是它们被称作环境变量的原因).这项 ...

  3. Java:全局变量(成员变量)与局部变量

    分类细则: 变量按作用范围划分分为全局变量(成员变量)和局部变量 成员变量按调用方式划分分为实例属性与类属性 (有关实例属性与类属性的介绍见另一博文https://blog.csdn.net/Drag ...

  4. C++ 笔记(06)— 变量作用域(局部变量、全局变量、静态局部变量)

    作用域是程序的一个区域,一般来说有三个地方可以定义变量: 在函数或一个代码块内部声明的变量,称为局部变量: 在函数参数的定义中声明的变量,称为形式参数: 在所有函数外部声明的变量,称为全局变量: 1. ...

  5. python 函数递归一次增加一次变量_python3--函数(函数,全局变量和局部变量,递归函数)...

    1.1函数 1.1.1什么是函数 函数就是程序实现模块化的基本单元,一般实现某一功能的集合. 函数名:就相当于是程序代码集合的名称 参数:就是函数运算时需要参与运算的值被称作为参数 函数体:程序的某个 ...

  6. 变量的属性(全局变量、局部变量、动态变量、静态变量等)

    变量的属性 1.变量的分类 l         根据作用域:可分为全局变量和局部变量. l           根据生存周期:可分为静态存储方式和动态存储方式,具体地又分为自动的(auto).静态的( ...

  7. python函数用法详解2(变量的作用域(全局变量、局部变量)、共享全局变量、函数返回值、函数的参数(位置参数、关键字参数、默认参数、不定长参数)、拆包、交换变量值、引用、可变和不可变类型)

    1. 变量作⽤域         变量作⽤域指的是变量⽣效的范围,主要分为两类:局部变量和全局变量. 局部变量         定义在函数体内部的变量,即只在函数体内部⽣效. def testA(): ...

  8. python成员变量和全局变量_python 全局变量和局部变量详解笔记

    python,数据分析,有相关问题欢迎留言交流. 一.问题引入 在写爬虫进行批量命名时,比如说常用的解析网页时 url这个变量就是跨函数的.涉及到全局变量和局部变量的设置. 二.全局变量与局部变量的区 ...

  9. python函数作用域包括局部变量和参数_python函数变量的作用域声明(全局变量和局部变量)...

    函数变量的作用域声明(全局变量和局部变量) 引入问题: 局部变量: 局部变量:定义在函数内部的变量,它的作用域也仅限于函数内部,出了函数就不能使用了. 例如: #encoding = utf-8 de ...

最新文章

  1. Python如何进行内存管理?
  2. Rabbit的工作(2)
  3. matlab 0-100随机数,添加到100的随机数:matlab
  4. 十六进制报文用wireshark打开
  5. linux挂载时间3秒,linux基础学习(十一) 时间的同步 设备的挂载
  6. PHP源代码后门事件后续:用户数据库遭泄露或是元凶
  7. python中shuffle是什么意思_选择vs.Shuffle,Python
  8. 在Idea2017.1中编译时发生如下的错误
  9. 大数据处理需要用到的九种编程语言
  10. 考研英语朱伟推荐的句子,写作文可以用(三)
  11. 斗牛java主程序设计_Java swing中制作斗牛游戏如何牛点
  12. MOSFET原理与应用
  13. 家乡 二 十 四 桥的介绍
  14. BACnet协议读取与发送
  15. IEEE Geoscience and Remote Sensing Letters (GRSL) 投稿经验
  16. DP232在兼容FT232RL的注意事项
  17. 前端和后端的区别是什么?
  18. 墨水屏桌牌--会议室新应用
  19. GreenDao使用
  20. Flutter 自定义聊天气泡

热门文章

  1. TryHackMe-进攻性渗透测试-19_缓冲区溢出_Brainpan
  2. html div导出pdf,使用Javascript从div中的HTML生成pdf
  3. Adobe Acrobat Reader 窗口一闪而过的解决方法
  4. Linux之uniq命令详解
  5. PyQt5 QTableWidget
  6. 【李沐】softmax回归-1.使用交叉熵作为损失函数而不是MSE均方误差-(意思就是为什么经过了softmax之后不用MSE) 2.softmax与sigmoid
  7. 大倾角DJC50DJC波状挡边输送机 轮式移动机器人结构设计 单片机定时闹钟设计 基于单片机的数字钟设计 圆皮带输送机 悬吊式升降机 倍速链条输送机…设计
  8. 安卓代码中获取dp值为控件设置宽高,获取dimen值
  9. ubuntu 添加、删除用户,修改用户名称,修改主机名
  10. 【语义分割】DUC -- Understand Convolution for Semantic Segmentation