activiti变量 全局变量和局部变量
流程变量分为两种:全局变量和局部变量。
文章目录
- 全局变量(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变量 全局变量和局部变量相关推荐
- 【Linux命令行】使用Linux环境变量:全局变量、局部变量、用户定义变量
文章目录 什么是环境变量 全局环境变量 局部环境变量 创建自己的局部变量 设置局部用户定义变量 设置全局环境变量 删除环境变量 默认shell环境变量 设置PATH环境变量 定位环境变量 登录shel ...
- Linux shell 学习笔记(4)— linux 环境变量(全局变量、局部变量及变量持久化)
1. 环境变量概念及分类 bash shell 用一个叫作环境变量(environment variable)的特性来存储有关 shell 会话和工作环境的信息(这也是它们被称作环境变量的原因).这项 ...
- Java:全局变量(成员变量)与局部变量
分类细则: 变量按作用范围划分分为全局变量(成员变量)和局部变量 成员变量按调用方式划分分为实例属性与类属性 (有关实例属性与类属性的介绍见另一博文https://blog.csdn.net/Drag ...
- C++ 笔记(06)— 变量作用域(局部变量、全局变量、静态局部变量)
作用域是程序的一个区域,一般来说有三个地方可以定义变量: 在函数或一个代码块内部声明的变量,称为局部变量: 在函数参数的定义中声明的变量,称为形式参数: 在所有函数外部声明的变量,称为全局变量: 1. ...
- python 函数递归一次增加一次变量_python3--函数(函数,全局变量和局部变量,递归函数)...
1.1函数 1.1.1什么是函数 函数就是程序实现模块化的基本单元,一般实现某一功能的集合. 函数名:就相当于是程序代码集合的名称 参数:就是函数运算时需要参与运算的值被称作为参数 函数体:程序的某个 ...
- 变量的属性(全局变量、局部变量、动态变量、静态变量等)
变量的属性 1.变量的分类 l 根据作用域:可分为全局变量和局部变量. l 根据生存周期:可分为静态存储方式和动态存储方式,具体地又分为自动的(auto).静态的( ...
- python函数用法详解2(变量的作用域(全局变量、局部变量)、共享全局变量、函数返回值、函数的参数(位置参数、关键字参数、默认参数、不定长参数)、拆包、交换变量值、引用、可变和不可变类型)
1. 变量作⽤域 变量作⽤域指的是变量⽣效的范围,主要分为两类:局部变量和全局变量. 局部变量 定义在函数体内部的变量,即只在函数体内部⽣效. def testA(): ...
- python成员变量和全局变量_python 全局变量和局部变量详解笔记
python,数据分析,有相关问题欢迎留言交流. 一.问题引入 在写爬虫进行批量命名时,比如说常用的解析网页时 url这个变量就是跨函数的.涉及到全局变量和局部变量的设置. 二.全局变量与局部变量的区 ...
- python函数作用域包括局部变量和参数_python函数变量的作用域声明(全局变量和局部变量)...
函数变量的作用域声明(全局变量和局部变量) 引入问题: 局部变量: 局部变量:定义在函数内部的变量,它的作用域也仅限于函数内部,出了函数就不能使用了. 例如: #encoding = utf-8 de ...
最新文章
- Python如何进行内存管理?
- Rabbit的工作(2)
- matlab 0-100随机数,添加到100的随机数:matlab
- 十六进制报文用wireshark打开
- linux挂载时间3秒,linux基础学习(十一) 时间的同步 设备的挂载
- PHP源代码后门事件后续:用户数据库遭泄露或是元凶
- python中shuffle是什么意思_选择vs.Shuffle,Python
- 在Idea2017.1中编译时发生如下的错误
- 大数据处理需要用到的九种编程语言
- 考研英语朱伟推荐的句子,写作文可以用(三)
- 斗牛java主程序设计_Java swing中制作斗牛游戏如何牛点
- MOSFET原理与应用
- 家乡 二 十 四 桥的介绍
- BACnet协议读取与发送
- IEEE Geoscience and Remote Sensing Letters (GRSL) 投稿经验
- DP232在兼容FT232RL的注意事项
- 前端和后端的区别是什么?
- 墨水屏桌牌--会议室新应用
- GreenDao使用
- Flutter 自定义聊天气泡
热门文章
- TryHackMe-进攻性渗透测试-19_缓冲区溢出_Brainpan
- html div导出pdf,使用Javascript从div中的HTML生成pdf
- Adobe Acrobat Reader 窗口一闪而过的解决方法
- Linux之uniq命令详解
- PyQt5 QTableWidget
- 【李沐】softmax回归-1.使用交叉熵作为损失函数而不是MSE均方误差-(意思就是为什么经过了softmax之后不用MSE) 2.softmax与sigmoid
- 大倾角DJC50DJC波状挡边输送机 轮式移动机器人结构设计 单片机定时闹钟设计 基于单片机的数字钟设计 圆皮带输送机 悬吊式升降机 倍速链条输送机…设计
- 安卓代码中获取dp值为控件设置宽高,获取dimen值
- ubuntu 添加、删除用户,修改用户名称,修改主机名
- 【语义分割】DUC -- Understand Convolution for Semantic Segmentation