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从自己的私有区域里获取参数。

  • 相关阅读:
    11111
    JavaScript基础
    CSS使用
    CSS 基本
    前端之HTML
    Python 迭代器和生成器
    Python day11
    Python 函数
    第十七篇:django基础(二)
    第十六篇:django基础
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13302408.html
Copyright © 2011-2022 走看看