Activiti任务参数的设置方式和作用域

摘要:
任务参数通过TaskService服务组件设置。关于流程参数,请参阅文章“Activiti流程参数的设置方法和范围”一:任务参数设置方法流程启动后,以参数值的方式设置任务参数);(2) 如果在任务中以setVariableLocal模式设置参数,则任务参数的范围可以理解为两种类型的区域。(3) 在setVariable模式下为任务设置的参数。

前言

Activiti的参数有两种类型,一类是流程参数,一类是任务参数;流程参数是通过RuntimeService服务组件设置,在设置的过程中需要传入执行流ID;任务参数是通过TaskService服务组件设置,在设置的过程中需要传入任务ID;所以我们可以形象的认为流程参数是和执行流绑定到了一起,任务参数是和任务绑定到了一起。流程参数可以查看这篇文章《Activiti流程参数的设置方式和作用域》

一:任务参数的设置方式

流程启动之后,当走到某个任务节点时,用taskService.setVariable(任务Id,参数名,参数值)或者taskService.setVariableLocal(任务Id,参数名,参数值)的方式设置任务参数;

二:任务参数的作用域

1:通过setVariable和setVariableLocal设置参数的作用域不同,按两种情况分开介绍:

(1)如果在某个任务中通过setVariable方式设置参数,则在同流程的所有任务中都可以通过getVariable方式获取到;

Activiti任务参数的设置方式和作用域第1张

(2)如果在某个任务中通过setVariableLocal方式设置参数,则在当前任务中可以通过任何方式(getVariable或者getVariableLocal)获取到,在同流程的其他任务中不可以获取到;因为参数的作用域仅仅局限于当前设置的任务中,而且任务被删除,或者执行结束之后,参数就会失效。

Activiti任务参数的设置方式和作用域第2张

2:任务参数作用域的个人理解

(1)在一个流程实例中,任务参数的作用域可以理解为有两类区域,一类共有区域(只有一个共有区域,所有任务共享),一类私有区域(每个任务都有自己的私有区域);

(2)任务通过setVariable和getVariable操作共有区域,通过setVariableLocal和getVariableLocal操作自己的私有区域;但是getVariable也可以操作自己的私有区域;

(3)任务通过setVariable设置的参数,被设置到了共有区域;任务通过getVariable方式是从共有区域里获取参数(也会从自己的私有区域获取参数);

(4)任务通过setVariableLocal设置的参数,被设置到了自己的私有区域里;任务通过getVariableLocal从自己的私有区域里获取参数。

免责声明:文章转载自《Activiti任务参数的设置方式和作用域》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇学习vue之windows下安装live-server 超级详细篇解析ISO8583报文实例下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

HTML超链接中文乱码

Vm中一个超链接URL需要拼接中文作为Get请求的参数。如果直接拼接,传到后台Action的参数对象中后取出会是乱码,需要编码后再拼接到URL上。  解决方法是在Action中添加一个成员变量,保存编码后的中文参数。在vm页面渲染时取出这个变量值,再拼接超链接。 在这里碰到的问题是:调用java.net.URLEncoder的encode()方法时,如...

iptables规则的查看、添加、删除和修改

  http://ns.35.com/?p=211 1、查看iptables -nvL –line-number -L 查看当前表的所有规则,默认查看的是filter表,如果要查看NAT表,可以加上-t NAT参数 -n 不对ip地址进行反查,加上这个参数显示速度会快很多 -v 输出详细信息,包含通过该规则的数据包数量,总字节数及相应的网络接口 –line...

LoadRunner常用函数

1.        Intweb_reg_save_param("参数名","LB=左边界","RB=右边界",LAST);/注册函数,在参数值出现的前面使用,注册成功时返回值为0,注册失败时返回值为1。左右边界需根据TreeView里相关步骤的SeverResponse代码来确定。用以上函数能获取第一个符合条件的数值。 2.        web_reg...

执行计划--Adhoc和Prepare

在和SQLPass讨论adhoc和Prepare时,有各自不同的观点,我来发表下我的理解,不对之处,敬请指出! Adhoc(即席查询):没有参数化的查询计划会被标记为adhoc,adhoc不能理解为该执行计划不会被重用。 Prepared(预定义):查询中使用到参数的执行计划会被标记为Prepared. 在后续测试中,每次测试之前需要清除执行计划: --清...

【函数】raise 函数(小窗help)

在Python中,要想引发异常,最简单的形式就是输入关键字raise,后跟要引发的异常的名称。 异常名称标识出具体的类: Python异常处理是那些类的对象。 执行raise语句时,Python会创建指定的异常类的一个对象。 raise语句还可指定对异常对象进行初始化的参数。 为此,请在异常类的名称后添加一个逗号以及指定的参数(或者由参数构成的一个元组)。...

批处理命令大全

  1.Echo 命令打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。语法echo [{on|off}] [message]Sample:echo off / echo hello world在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一些命令到特...