zoukankan      html  css  js  c++  java
  • 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从自己的私有区域里获取参数。

  • 相关阅读:
    Abstract与Virtual
    List 常用方法
    控制数据采样分布 计算概念
    中期答辩感想
    软件开发之团队理解
    详细设计理解
    竞赛系统需求分析
    软件代码规范之理解
    AngularJS 整理资料
    AngularJS合集
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13302408.html
Copyright © 2011-2022 走看看