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

前言

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

一:任务参数的设置方式

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

二:任务参数的作用域

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

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

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

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

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

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

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

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值