Activit各个网关使用简单介绍
一、排他网关 Exclusive Gateway
排他网关又叫互斥网关,条件计算为true的顺序流会被选择继续流程,有且只有一条出口,如果出现多个条件为true,则会默认选择第一条true来执行,如果没有条件输出true,流程走到这一步的时候则会报错
二、并行网关 Parallel Gateway
它可以将执行分支(fork)为多条路径,也可以合并(join)执行的多条入口路径。简单点说就是,并行网关它可以有多条入口和出口,并且在合并入口处会等待其他分支执行完,然后再执行后面的流程,另外,需要注意的是,并行网关没有条件的概念,
即便设置了条件,它会自动忽略
三、包容网关 Inclusive Gateway
用内部带有’圆圈’图标的网关(菱形)表示。

这个网关比较特殊,它集合了前面两个网关的特点,一句话来说就是,它既可以像排他网关那样设置条件,也能像并行网关这样设置多条分支并行执行,在上图中,当流程启动后,如果流程变量paymentReceived == false且shipOrder == true,将会创建两个任务。如果只有一个流程变量等于true,则只会创建一个任务。如果没有条件计算为true,会抛出异常,并可通过指定出口顺序流
举个例子:启动流程的时候传入下面的参数,执行流程。
HashMap<String, Object> variableMap = new HashMap<String, Object>();
variableMap.put("receivedPayment", true);
variableMap.put("shipOrder", true);
在上面的例子中,只有ship order 一个任务会被创建,当这个任务完成后,第二个包容网关会合并这两个执行,并且由于只有一条出口顺序流,不会再创建并行执行路径,只会激活Archive Order任务继续后面的流程。
四、基于事件的网关 Event-based Gateway
这个网关相比其他三个网关,用的相对没那么多,主要还是根据业务需求吧
该网关在执行出口处,要连接一个捕获中间事件。当流程执行到该网关时,流程类似处于等待的状态,此时执行被暂停,并创建一个事件订阅
需要订阅什么事件。基于下列约束:
一个基于事件的网关,必须有两条或更多的出口顺序流。
基于事件的网关,只能连接至
intermediateCatchEvent(捕获中间事件)类型的元素(Activiti不支持基于事件的网关后,连接接收任务,Receive Task)。连接至基于事件的网关的
intermediateCatchEvent,必须只有一个入口顺序流。
当然,新手看到了这里可能还是不知道什么是事件网关,它到底有什么用处呢?下面,我用一个例子来解释一下:

上图使用了事件网关、定时器事件,信号捕捉事件,当启动流程后,流程实例订阅alert信号事件,并创建一个 5分钟后触发的定时器。这使得流程引擎等待5分钟,并等待信号事件。如果信号在5分钟内触发,则定时器会被取消,执行沿着信号继续。如果信号未被触 发,执行会在定时器到时后继续,并取消信号订阅。
一句话概括事件网关,如果你提交了请假申请,此时流程处于等待状态,当某个事件触发时,流程走到用户任务,办理了你的请假申请,那么等待会被取消,如果超过1天,还是没有触发某个事件,那么你的请假单直接跳过你的上级,直接往后面的流程走
Activit各个网关使用简单介绍的更多相关文章
- asp.net core网关Ocelot的简单介绍& Ocelot集成Identity认证
文章简介 Ocelot网关简介 Ocelot集成Idnetity认证处理 Ocelot网关简介 Ocelot是一个基于netcore实现的API网关,本质是一组按特定顺序排列的中间件.Ocelot内 ...
- iOS开发拓展篇-XMPP简单介绍
iOS开发拓展篇-XMPP简单介绍 一.即时通讯简单介绍 1.简单说明 即时通讯技术(IM)支持用户在线实时交谈.如果要发送一条信息,用户需要打开一个小窗口,以便让用户及其朋友在其中输入信息并让交谈双 ...
- iOS开发——网络编程OC篇&(一)XMPP简单介绍与准备
XMPP简单介绍与准备 一.即时通讯简单介绍 1.简单说明 即时通讯技术(IM)支持用户在线实时交谈.如果要发送一条信息,用户需要打开一个小窗口,以便让用户及其朋友在其中输入信息并让交谈双方都看到交谈 ...
- windows集群简单介绍
windows集群简单介绍仔细看过以前网友发表的一些文章,总觉得对windows集群没有详细介绍,我也是借花献佛,引用了一些技术性文档.目前应用最为广泛的集群计算技术可以分为三大类:高可用性集群技术. ...
- Postman安装与简单介绍
Postman简介 Postman是一个 Chrome 扩展,能提供强大的 Web API HTTP 请求调试功能.Postman能够发送任何类型的http请求,支持GET/PUT/POST/DELE ...
- Linux守护进程简单介绍和实例具体解释
Linux守护进程简单介绍和实例具体解释 简单介绍 守护进程(Daemon)是执行在后台的一种特殊进程.它独立于控制终端而且周期性地执行某种任务或等待处理某些发生的事件.守护进程是一种非常实用的进程. ...
- VBox虚拟机与主机(宿主)通讯原理以及socat(套接字猫)简单介绍
前言 尝试虚拟机使用socat建立服务器端接口转发时,发现对虚拟机接入网络原理不是非常了解,于是乎上网查找资料想搞明白是怎么回事,于是乎有了这篇总结博文.socat可以在服务器端口间建立全双工通信通道 ...
- XMPP基本内容简单介绍
即时通讯技术简单介绍 即时通讯技术(IM)支持用户在线实时交谈.假设要发送一条信息,用户须要打开一个小窗体,以便让用户及其朋友在当中输入信息并让交谈两方都看到交谈的内容.有很多的IM系统,如AOL I ...
- openresty开发系列10--openresty的简单介绍及安装
openresty开发系列10--openresty的简单介绍及安装 一.Nginx优点 十几年前,互联网没有这么火,软件外包开发,信息化建设,帮助企业做无纸化办公,收银系统,工厂erp,c/s架构偏 ...
随机推荐
- 对Numpy广播操作的理解
1.首先检查两个矩阵维数是否相同,若不同,对维数少的补一.注意这里的维数不是指n行d列中的n和d的值,对于这种情况维数就是2.若一个两维的矩阵(n,d)和一个一维的数组(m,)相乘,补一操作就是将那个 ...
- AngularJS学习篇(十二)
AngularJS SQL ASP.NET 中执行 SQL 获取数据 <!DOCTYPE html> <html> <head> <meta charset= ...
- CentOS、Ubuntu配置网卡子接口
CentOS # ip addr add dev eth0 lable eth0: 以上为临时配置,重启失效.若需永久保存,增加网络配置文件 # vim /etc/sysconfig/network- ...
- pie.htc 在IE下不起作用~~~
一直用的IE11 然后选择其中的兼容模式来测试IE 7~10的情况. 最近由于客户要求 圆角阴影兼容IE,只能选择PIE.HTC的方案. 但是反复测试发现不起作用. 官方文档的几种说明: 1. pie ...
- 自定义Base16加密
自定义Base16加 ...
- java面试题及答案
JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时 ...
- pt-stalk
1.名词解释 Collect forensic data about MySQL when problems occur 在问题发生的时候采集现场数据 pt-stalk waits for a tri ...
- C# 处理Word自动生成报告 一、概述
经常遇到这样的需求, 生成Word格式的报告, 而不是单纯的一张表格的报表. 就像体检报告一样. 数据来源部分决定采用一个存储过程返回Dataset的方式, 整张报告的数据来源于此Dataset的多 ...
- Python 爬虫练习(三) 利用百度进行子域名收集
不多介绍了,千篇一律的正则匹配..... import requests import re head = {'User-Agent': \ 'Mozilla/5.0 (Windows NT 6.3; ...
- 老男孩最新Python全栈开发视频教程(92天全)重点内容梳理笔记 看完就是全栈开发工程师
为什么要写这个系列博客呢? 说来讽刺,91年生人的我,同龄人大多有一份事业,或者有一个家庭了.而我,念了次985大学,年少轻狂,在大学期间迷信创业,觉得大学里的许多课程如同吃翔一样学了几乎一辈子都用不 ...