Activiti工作流框架学习五:排他网关

Camunda工作流网关(一)-Exclusive Gateway(独占网关或排他网关) 在Camunda的 Modeler工具中提供了5种类型的网关:每一个网关都有自己独特的功能。Exclusive Gateway(独占网关)1、独占网关(也称为XOR网关或排他网关)允许您根据数据(即流程实例变量)做出决策。 2、如果一个独占网关具有多个传出序列流,则除一个序列流外的所有序列流都必须具有一个条件表达式来定义何时获取该流。网关可以有一个不带conditionExpression的序列流,必须将其定义为默认流。 3、当输入独占网关时,将计算条件表达式。如果同时满足多个条件时,流程实例采用满足条件的 阅读详情

前面提到的流程都是一条主线执行下去的,而在实际情况下一个流程出现分支是常见的情况,如图
这里写图片描述
下面就来介绍Activiti框架解决这种分支问题的方法

排他网关(ExclusiveGateway)

这里写图片描述
如图,我们可以选中分支,然后在Condition中写入该分支条件,表达式需要按照一定规范

示例代码

/**
 * 部署流程定义
 */
@Test
public void test1() {
    DeploymentBuilder deploymentBuilder = processEngine.getRepositoryService().createDeployment();
    deploymentBuilder.addClasspathResource("com/zyj/activiti/gateway/qjlc.bpmn");
    deploymentBuilder.addClasspathResource("com/zyj/activiti/gateway/qjlc.png");
    deploymentBuilder.deploy();
}
/**
 * 启动流程实例时设置流程变量
 */
@Test
public void test2() {
    String processDefinitionKey = "qjlc";// 流程定义key
    ProcessInstance pi = processEngine.getRuntimeService().startProcessInstanceByKey(processDefinitionKey);
    System.out.println(pi.getId());
}
/**
 * 办理任务时设置流程变量
 */
@Test
public void test3() {
    String taskId = "2405";//任务id
    Map<String, Object> variables = new HashMap<>();
    //设计流程时设置的第一个分支条件是qjts<3,第二个分支条件是qjts>=3
    variables.put("qjts", 1);//执行这行则会往分支1走
    //variables.put("qjts", 7);//执行这行则会往分支2走
    processEngine.getTaskService().complete(taskId, variables);
}

注意:在设置分支条件时,如果总条件不为1,即第一个分支条件为qjts<3,第二个分支条件为qjts>3,则当设置的qjts为3时,分支条件都不匹配,框架会自动选择第一个分支(id)执行

概念辨析

流程实例 act_hi_procinst 与执行对象 act_ru_execution

1.如果是单例流程,则流程实例ID与执行对象ID一致
2.如果是分支流程,则流程实例ID与执行对象ID的关系为一对多

Activiti工作流 Activiti工作流 一、Activiti介绍 1、Activiti 的概述 ​ 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。 ​ 工作流管理系统(Workflow Management S... 阅读详情

相关推荐

Activiti进阶(七)——排他网关(ExclusiveGateWay)

上一篇博文我们简单介绍了一下连线,也分析了一种情况,就是在工作流中,用户任务下面有两个连线,如何选择工作流的进程。这一篇博文和上一篇博文讨论的主题类似,解决上一篇博文中有多个连线分支的情况,我们可以使用排他网管来解决。      一、流程图

周江霄 5万+

【Activiti工作流】10.排他网关

很久没有更新Activiti的文章,有朋友想看之后的技术总结,我这里就顺着上一次的记忆继续写,把这个系列完结了。上一次介绍了Activiti中的其中一种模式“连线”,该模式即是一件任务可能要分多种情况,有些情况需要走一个复杂流程,有些情况需要走简单流程,就如同一条河的分支一样。而本次介绍的是Activiti的另一种模式“排他网关(ExclusiveGateWay)”。我们打开Eclipse中的某个...

程序猿之洞 5293

Activiti 学习笔记八:排他网关(ExclusiveGateWay)

Activiti 学习笔记八:排他网关(ExclusiveGateWay)

Flowable-网关-排他网关

排他网关,也叫异或(XOR)网关,是 BPMN 中使用的最常见的网关之一,用来在流转中实现发散分支决策。排他网关需要和条件顺序流搭配使用,当流程执行到排他网关,所有流出的顺序流都会被按顺序求解计算一遍,其中第一个条件解析为 true 的顺序流会被选中(当多个顺序流程的条件为 true 时,只有第一个会被选中)并且不再计算其它流出分支,让流程沿着第一条被选中的执行线运行;如果所有顺序流条件计算结果都为 false 且该网关定义了一个默认顺序流,那么该默认顺序流将被执行;

liuwenjun05101的博客 2069

ScanNet数据集下载全攻略:从申请到解析的保姆级教程(含常见问题解决)

本文提供了ScanNet数据集从申请授权到下载、解析的完整实战指南。针对这个大规模室内RGB-D数据集,详细介绍了官方申请流程、优化下载策略、数据验证方法,并重点解决了深度图解析等常见问题,帮助三维视觉研究者高效获取和使用这一宝贵资源。

5f4d3s2a1q的博客 617

FoundationPose复现及Realsense应用

FoundationPose是一个统一的基础模型,用于6D对象姿态估计和跟踪,支持基于模型和无模型的设置。在测试时可以立即应用于未见过的新对象,无需微调,只要给出其CAD模型,或者捕获少量RGBD参考图像。得益于统一框架,下游姿态估计模块在两种3D模型设置中都是相同的,当没有CAD模型时,使用神经隐式表示进行高效的新视角合成。通过大规模合成训练,辅以大型语言模型(LLM)、一种基于transformer的新架构和对比学习公式,实现了强大的泛化能力。

m0_56661101的博客 1万+

Activiti的学习(六)——网关

网关用来控制流程的流向。 网关显示成菱形图形,内部有有一个小图标。 图标表示网关的类型。 一、排他网关(ExclusiveGateWay) 排他网关(也叫异或(XOR)网关,或更技术性的叫法 基于数据的排他网关), 用来在流程中实现决策。 图形标记 排他网关显示成一个普通网关(比如,菱形图形), 内部是一个“X”图标,表示异或(XOR)语义。 注意,没有内部图标的网关,默认为排他网关...

有问题请发邮箱dengyifanlittle@163.com进行讨论 2070

在VSCode中使用LaTex+(grammarly语法检测,chatgpt翻译,Sumatra PDF 轻量级pdf阅读器)

整个文章分为以下几个内容,打 * 的是必须要安装的。

u011895157的博客 2万+

工作流框架--activiti(四)--排他网关和并行网关

接下来介绍activiti的排他网关和并行网关: 排他网关(ExclusiveGateway):       用来在流程中实现决策。当流程执行到排他网关,所有数据就会被执行一遍,满足条件的就会让流程继续运行。 需要注意的是:排他网关只会选择一条满足条件的执行。 咱们以下面流程为例:   也就是当金额大于1000,就会走总经理流程,当在1000和500之间,就会走部门

My Devil's Cry 1万+

手把手教你配置C6678的SPI启动:从NorFlash烧写到多核加载的完整流程

本文详细介绍了TMS320C6678多核DSP的SPI启动全流程,包括硬件准备、镜像文件生成与转换、NorFlash烧写与验证、多核启动同步机制以及常见问题排查。通过实战演示,帮助开发者高效配置SPI启动模式,解决启动失败、多核同步异常等问题,提升嵌入式系统开发效率。

weixin_27076351的博客 151

多臂老虎机——入门强化学习

多臂老虎机(Multi-Armed Bandit,MAB)问题是强化学习的经典入门例子,也是理解探索与利用(exploration-exploitation)平衡的重要案例。

qq_56683019的博客 2458

Activiti 工作流引擎 详解

工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。

共勉 2万+

lammps后处理:ovito选择原子高级技巧讲解

大家好,我是小马老师。 本文介绍如何在ovito中使用公式(Expression)选择需要的原子。 用ovito查看lammps模拟结果时,可能会遇到选择特定原子的情况,比如选择坐标位于一定范围内的原子,或者选择结构为fcc的原子等等。 这时候,就需要用到expression selection功能。 Expression selection功能比较强大,下面分别介绍几种选择原子的方法。 在输入公式前,先点击“Add modification”->"Expression selection"选项,在B

lammps_jiayou的博客 2万+

Activiti6.0(五)排他网关的使用

目录 一、前言 二、排他网关使用 1、绘制流程图 2、执行排他网关 3、复杂条件判断 一、前言 上一篇中有讲到在有多条出线时,可以在流程线上使用流程变量来控制,Activiti的排他网关本质上也是通过给网关后的每条出线设置条件,除去默认出线后然后从上至下进行判断,当条件为true或者无条件时则认为满足,直接执行该条出线,排他网关也允许设置默认出线,即当所有出线都不满足时执行该条默认出...

清茶的博客 6123

(第78天)DB RU 补丁升级:19C 升级到 19.22

目前 Oracle 19C 是最新的稳定支持的版本,生产环境中使用的越来越多。当然,随着客户使用量的增多,自然无可避免的产生了很多 BUG,Oracle 每季度都会发布一个 RU 补丁来修复当前季度所产生的一些重要 BUG 补丁。作为 DBA,DB 补丁修复必然是需要掌握的一项技能。本文将介绍如何将数据库升级到最新的 RU 版本。

LuciferLiu_DBA 843

行为预测模型:Social LSTM与Graph Neural Networks

行为预测模型:Social LSTM与Graph Neural Networks ,人工智能,计算机视觉,大模型,AI,本文围绕行为预测模型Social LSTM与Graph Neural Networks展开,介绍了两者的基础概念、原理、应用场景,还对比了它们在优势、劣势和适用场景上的不同,最后给出了相应的代码示例。Social LSTM基于LSTM,通过社交池化层处理多智能体交互;图神经网络处理图结构数据,靠消息传递获取信息,二者各有侧重,适用于不同场景。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 15万+

Activiti的排他网关、并行网关、

activiti工作流中我们经常用到的网关有两种: 1. Exclusive Gateway 排他网关 排他网关.png 排他网关(也叫异或(XOR)网关,或更技术性的叫法 基于数据的排他网关), 用来在> 流程中实现决策。 当流程执行到这个网关,所有外出顺序流都会被处理一遍。 其中条件解析为true的顺序流(或者没有设置条件,概念上在顺序流上定义了一个'true') 会被选中,让流

公子七 3271

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

activiti学习之排他网关

写在前面 在一些场景中可能不同的条件就流转到不同的节点来执行,比如请假,当请假天数小于等于2天,则直属领导审批,当请假天数大于2天小于等于5天时就部门负责人审批,当请假天数大于5天 就董事长审批,这种场景就可以通过排他网关来实现,经过网关,网关会判断哪条流出的线是符合条件的,进而通过该线流转。 1:测试 1.1:流程设计 效果图 以下是在网关连接的线上设置的条件,以days>2days<=5为例,具体参考xml文件: xml <?xml version="1.0" encodi

wang0907的博客 2250

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

关于activiti的排他网关的用法欢迎来评价

关于activiti的排他网关的用法欢迎来评价 排他网关 描述 排他网关(也叫异或(XOR)网关,或更技术性的叫法 基于数据的排他网关), 用来在流程中实现决策。 当流程执行到这个网关,所有外出顺序流都会被处理一遍。 其中条件解析为true的顺序流(或者没有设置条件,概念上在顺序流上定义了一个’true’) 会被选中,让流程继续运行。 注意这里的外出顺序流 与BPMN 2.0通常的概念是不同的。通...

Tony66xu的博客 1407

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

说一说activiti中的排他网关和并行网关

activiti工作流中我们经常用到的网关有两种: 1. Exclusive Gateway 排他网关 排他网关(也叫异或(XOR)网关,或更技术性的叫法 基于数据的排他网关), 用来在流程中实现决策。 当流程执行到这个网关,所有外出顺序流都会被处理一遍。 其中条件 解析为true的顺序流(或者没有设置条件,概念上在顺序流上定义了一个'true') 会被选 中,让流程继续运行。 注意这里的外出...

qq_38780765的博客 1681

Activiti工作流(五)连线,排他网关,并行网关,等待活动

流程图 如图绘制流程图  连线属性设置 部署流程定义+启动流程实例   @Test public void TestSequenceFlow(){ //获取流程引擎 ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); Deployment deployment = pr...

踟蹰千年的博客 2193

Activiti7工作流程引擎之排他网关

排他网关定义: 排他网关指当流程 执行到这个网关时,所有分支都会判断条件是否为 true,如果为 true 则执行该分支,如果分支都为true,只选择一个分支去执行。 注意,排他网关只会选择一个为 true 的分支执行(即使有两个分支条件都为 true,排他网关也会只 选择一条分支去执行) 场景: package org.wxy.com.activiti; import java.util.Date; import java.util.HashMap; import ...

喜羊羊love红太狼 2903

Activiti排他网关之学习浅谈一

情景: 某一家公司最近在给一个单位做一个财务审批的OA。具体需求是这样的:当部门申请的金额小于一万块的时候,财务部可以直接决策。当部分申请的金额大于一万块并且小于三十万的时候,财务部经理决策,当金额超出了或者等于三十万的时候,需要财务主管来决策。那么我们的工作流应该如何设计呢? 也许有人会说,这不简单,小于一万直接发送到财务部,大于一万小于三十,直接给财务经理。其他就发给财务主管。 你是否注意到,...

软件之家的博客 1473

activiti(7.0)排他网关

import org.activiti.engine.ProcessEngine; import org.activiti.engine.ProcessEngines; import org.activiti.engine.TaskService; import org.activiti.engine.task.Task; /** * 测试排他网关的存在的意义 * 1.测试没有...

苏凯的博客 770

java框架复习——Activiti工作流

工作流概述 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。 工作流管理系统(Workflow Management System, WfMS)是一个软件系统,它完成工作量的定义和管理,并按照在系统中预先定义好的工作流规则...

ww0peo的博客 6057
上一篇: Activiti工作流框架学习四:个人任务和组任务
下一篇: Activiti工作流框架学习六:与Spring框架整合
章 鱼
博客等级 码龄10年 203粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值