当前位置: 首页 > news >正文

flowable04网关和变量

网关

  • 排他网关
    只会有一个出口,,每个出口的条件是互斥的
  • 并行网关
    多个任务同时执行,,并且多个任务同时执行完毕,,才会进入到下一个任务
  • 包容网关
    也叫兼容网关,,相容网关
    包容网关可以根据具体的条件,,自动转换成排他网关,或者是并行网关,,意思就是满足条件就会走

流程变量

整个流程的变量,分为全局变量本地变量, 全局变量就是所有地方都能查找到,,本地变量分 执行实例的本地变量 : 在这个执行实例上的节点,能看到这些变量
任务的本地变量: 在这个节点上能够看到的变量,,任务结束之后就会从ru的变量表中删掉

设置全局流程变量:(可以启动的时候设置,也可以通过执行实例设置,也可以通过用户任务节点设置)

  public void test02(){// 启动的时候设置变量,,这个流程变量会被存入两个地方,,运行时的变量表,和历史变量表 act_ru_variableHashMap<String, Object> map = new HashMap<>();map.put("money",1000);map.put("days",10);map.put("reason","我要去玩");runtimeService.startProcessInstanceByKey("test-gateway",map);}
    @Testpublic void test03(){String executionId = "57501";
// 获取指定流程实例的  变量Object money = runtimeService.getVariable(executionId, "money");System.out.println("money = " + money);Map<String, Object> variables = runtimeService.getVariables(executionId);for (String s : variables.keySet()) {System.out.println(s+":"+variables.get(s));}}
    @Testpublic void test06(){List<Task> taskList = taskService.createTaskQuery().taskAssignee("zs").list();for (Task task : taskList) {System.out.println("task = " + task);// 也可以通过任务id 去查全局的流程变量Map<String, Object> variables = taskService.getVariables(task.getId());System.out.println("variables = " + variables);taskService.setVariable(task.getId(),"result","我不同意");Map<String, Object> variables02 = taskService.getVariables(task.getId());System.out.println("variables = " + variables02);// 完成任务的时候,,可以设置一个变量===》// 1.记录任务处理结果  2.传递数据给后续的节点  3,记录业务数据 4.流程结束时数据归档// 如果后面有网关,, 可以通过变量控制流程的走向// 多个审批结果汇总}}

设置本地的流程变量:

    @Testpublic void test07(){Task task = taskService.createTaskQuery().taskAssignee("zs").singleResult();// 设置本地的流程变量,,,会携带task_id// 本地流程变量,,在完成任务之后,跟这个任务相关的流程变量就会被删掉(ACT_RU_VARIABLE表中)taskService.setVariableLocal(task.getId(),"username","cnm");}// 为执行实例设置本地变量 ===> 执行实例也能设置本地的变量,,,只有属于这条执行实例的 任务,,才能读到这些本地变量

设置临时变量: 就是不会存入数据库的变量==>在复杂的流程中,可能需要一些中间计算结果

   @Testpublic void test10(){runtimeService.createProcessInstanceBuilder()// 设置临时变量,,在复杂的系统中,可能需要一些中间计算的结果.transientVariables(new HashMap<>()).start();// 完成任务的时候也可以设置一些临时变量Map<String, Object> transientVariables = new HashMap<>();Task task = taskService.createTaskQuery().taskAssignee("zs").singleResult();taskService.complete(task.getId(),null,transientVariables);}
http://www.dtcms.com/a/598605.html

相关文章:

  • 设计旅游网站的主色调sem工具是什么
  • 如何降低交互复杂度,减少用户学习成本
  • 交易类网站做支付宝功能淘宝网站代理怎么做
  • 中国建设银行网站如何注册logo设计公司 南京
  • 麒麟桌面操作系统切换到root用户方法
  • 找企业名录的网站网站的横幅怎么做
  • 工具学习_Vulrule
  • 上海外贸soho网站建设静态网站登陆怎么做
  • 哈希表中桶的概念
  • 网站建设系统设计重庆百度搜索排名优化
  • 中山快速做网站服务盐城网站建设流程
  • LangFlow 中,节点间的数据流动核心是 **“输入-输出端口映射”+“执行链路驱动”**
  • 百度上怎么制作自己的网站中文网页设计案例欣赏
  • 深度学习:python动物识别分类检测系统 Django框架 CNN算法 深度学习 卷积神经网络 TensorFlow (建议收藏)✅
  • 【C++基础与提高】第四章:运算符与表达式——构建程序逻辑的工具
  • 专业提供网站制作双语言网站源码
  • 太原论坛网站开发公司芜湖网站公司
  • 深度学习模型CNN识别恶意软件
  • 模型-详解 Vision Transformer (ViT)
  • 广州专业做网站公司热门网页设计制作代码
  • 温岭 网站制作企业网站自己可以做
  • 虚拟机做网站有用吗关键词seo排名优化推荐
  • Springboot-WebService 服务端发布与客户端调用
  • CentOS7 + VMware 搭建 K3s 集群遇到的网络问题全记录与解决方案
  • flowable03任务
  • 手机软件网站京东网页版
  • 国外网站设计大全营销业务应用系统
  • 每日算法刷题Day84:11.11:leetcode 动态规划9道题,用时2h
  • 网站建设开发设计营销公司山东建设网站平台合同范本
  • 网站建设玖金手指谷哥四网站对一个关键词做排名怎么做