首页 > 其他分享 >【第八篇】Camunda系列-网关服务

【第八篇】Camunda系列-网关服务

时间:2022-10-16 17:05:07浏览次数:64  
标签:网关 顺序 第八篇 流程 并行 汇聚 Camunda 分支


【第八篇】Camunda系列-网关服务_Camunda

网关篇

  网关用来控制流程的流向

1. 排他网关

  ​​排他网关​​(exclusive gateway)(也叫异或网关 XOR gateway,或者更专业的,基于数据的排他网关 exclusive data-based gateway),用于对流程中的决策建模。当执行到达这个网关时,会按照所有出口顺序流定义的顺序对它们进行计算。选择第一个条件计算为true的顺序流(当没有设置条件时,认为顺序流为true)继续流程。

绘制流程图:

【第八篇】Camunda系列-网关服务_Camunda_02

对应的XML文件

【第八篇】Camunda系列-网关服务_网关_03

流程演示

/**
* 完成流程的部署操作
*/
@Test
public void deploy(){
Deployment deploy = repositoryService.createDeployment()
.name("排他网关")
.addClasspathResource("flow/排他网关.bpmn")
.deploy();
System.out.println("deploy.getId() = " + deploy.getId());
}


/**
* 通过流程定义Id 启动
*/
@Test
public void startFlow(){
String processId = "Process_0eykic0:1:efadfc92-39c9-11ed-8f13-c03c59ad2248";
ProcessInstance processInstance = runtimeService.startProcessInstanceById(processId);
System.out.println("processInstance.getId() = " + processInstance.getId());
}

/**
* 完成任务
*/
@Test
public void completeTask(){
Map<String,Object> map = new HashMap<>();
map.put("day",4);
taskService.complete("21a323ee-39ca-11ed-8b49-c03c59ad2248",map);
}

传递的是​​day=4​​会走中间的路线。

【第八篇】Camunda系列-网关服务_工作流_04

2. 并行网关

  并行网关允许将流程分成多条分支,也可以把多条分支汇聚到一起,并行网关的功能是基于进入和外出顺序流的:

  • fork分支:并行后的所有外出顺序流,为每个顺序流都创建一个并发分支。
  • join汇聚: 所有到达并行网关,在此等待的进入分支, 直到所有进入顺序流的分支都到达以后, 流程就会通过汇聚网关。

  注意,如果同一个并行网关有多个进入和多个外出顺序流, 它就同时具有分支和汇聚功能。 这时,网关会先汇聚所有进入的顺序流,然后再切分成多个并行分支。

与其他网关的主要区别是,并行网关不会解析条件。 即使顺序流中定义了条件,也会被忽略。

【第八篇】Camunda系列-网关服务_并行_05

3.包含网关

  包含网关可以看做是排他网关和并行网关的结合体。 和排他网关一样,你可以在外出顺序流上定义条件,包含网关会解析它们。 但是主要的区别是包含网关可以选择多于一条顺序流,这和并行网关一样。

包含网关的功能是基于进入和外出顺序流的:

  • 分支: 所有外出顺序流的条件都会被解析,结果为true的顺序流会以并行方式继续执行, 会为每个顺序流创建一个分支。
  • 汇聚:所有并行分支到达包含网关,会进入等待状态, 直到每个包含流程token的进入顺序流的分支都到达。 这是与并行网关的最大不同。换句话说,包含网关只会等待被选中执行了的进入顺序流。 在汇聚之后,流程会穿过包含网关继续执行。

【第八篇】Camunda系列-网关服务_网关_06

当输入​​day=4​​时,走了第二和第三条路线

【第八篇】Camunda系列-网关服务_并行_07


标签:网关,顺序,第八篇,流程,并行,汇聚,Camunda,分支
From: https://blog.51cto.com/u_15494758/5760414

相关文章

  • 忙完了camunda这个框架的一个运行demo
    这周把企业微信和camunda这个的大概都看了下感觉时间逐渐掌控了起来了不过还有很多事情没有安排去做现在刷了下统计学听了前辈的忠告要把学到的都融合起来比如我学统......
  • 【第四篇】Camunda系列-ProcessEngine核心对象
    一、ProcessEngine  ProcessEngine是Camunda流程引擎的核心。我们在流程中的很多具体的处理比如​​流程部署​​​、​​流程部署​​​、​​流程审批​​​等操作都是......
  • 【第五篇】Camunda系列-任务分配
    任务分配1.固定分配  在指派​​用户任务​​的审批人时。我们是直接指派的固定账号。但是为了保证流程设计审批的灵活性。我们需要各种不同的分配方式,所以这节我们就详细......
  • 工业物联网智能网关BL110网口采集三菱Q系列PLC Q04UDEH教程
    钡铼技术工业物联网智能网关BL110网口采集三菱Q系列PLCQ04UDEH教程网口支持采集三菱Q系列(Q03UDE,Q04UDEH,Q06UDEH,Q10UDEH,Q13UDEH,Q20UDEH,Q26UDEH,Q002UD)、L系......
  • 钡铼技术工业物联网智能网关BL110网口采集三菱Q系列PLC Q04UDEH教程
    钡铼技术工业物联网智能网关BL110网口采集三菱Q系列PLCQ04UDEH教程网口支持采集三菱Q系列(Q03UDE,Q04UDEH,Q06UDEH,Q10UDEH,Q13UDEH,Q20UDEH,Q26UDEH,Q002UD)、L......
  • 外部网关协议BGP
    不能全部使用RIP与OSPF的原因有二:互联网规模太大,自治系统间路由选择困难;自治系统间路由选择必须考虑有关策略。在每一个自治系统中有两种不同功能的路由器,边界路由器和内......
  • 内部网关协议OSPF
    开放最短路径优先OSPF,开放表明OSPF不受某一厂商控制,最短路径优先是因为使用了最短路径算法SPF。OSPF最主要的特征是使用链路状态协议,而不是RIP的距离向量路由协议。其余特......
  • 内部网关协议RIP
    RIP协议的特点:仅和相邻路由器交换信息;交换自己现在的路由表;按固定的时间周期。对每一个相邻路由器发送的RIP报文,执行以下步骤:1.对地址为x的相邻路由器发来的报文,修改此报......
  • 【网关开发】2.openresty 使用lua扩展 链接etcd数据库
    背景在使用openresty时有一些定制化的负载均衡功能,有些元数据是保存在etcd中的,所以需要openresty与etcd进行交互,可以获取全量数据,并且使用etcd的watch功能。上一篇1.编......
  • 智能分析网关如何添加通道?
    智能分析网关是由TSINGSEE青犀视频研发的智能硬件产品,可支持AI视频智能分析功能,支持对视频监控场景中的人脸、人体、安全帽、口罩等进行抓拍、检测与识别,对异常情况进行智能......