Flowable-子流程-事件子流程

news2024/11/25 18:50:23

目录

      • 定义
      • 图形标记
      • XML内容
      • 使用示例
      • 视频教程

定义

事件子流程是 BPMN 2.0 中加入的新元素,它是指通过事件触发的子流程,可以存在于在流程
级别,或者任何子流程级别。和内嵌子流程类似,把一系列的活动归结到一起处理,不同之处在于
事件子流程不能直接启动,要被动地由其它的事件触发启动。事件子流程可以通过消息事件、错误
事件、信号事件、定时器事件或补偿事件等触发。

图形标记

事件子流程可以显示为边框为虚线的内嵌子流程,如图所示:

在这里插入图片描述

XML内容

事件子流程的 XML 内容与内嵌子流程是一样的,不同之处在于事件子流程需要把
triggeredByEvent 属性设置为 true:

<process id="mainProcess" name="主流程" isExecutable="true">
    <startEvent id="startEvent1"></startEvent>
     <subProcess id="subProcess" name="事件子流程" triggeredByEvent="true">
         <startEvent id="subProcessStart" />
         <endEvent id="subProcessEnd" />
     </subProcess>
 </process>

使用示例

用于触发事件子流程的事件,使用开始事件进行配置。因此可知,不能在事件子流程中使用空
启动事件,Flowable 支持的事件子流程中必须以错误开始事件或者消息开始事件开始。开始事件的
订阅在包含事件子流程的作用域(流程实例或子流程)创建时就会创建,当作用域销毁也会删除订
阅。事件子流程里面需要有结束节点。
事件子流程可以配置为中断或不中断的,中断的子流程会取消当前作用域内的所有执行,而非中
断的事件子流程将创建一个新的并行执行。中断事件子流程只会被作用域范围内的活动触发一次,
而非中断事件子流程可以多次触发。子流程是否是中断的,通过触发事件子流程的开始事件配置。
注意,Flowable 只支持中断事件子流程。
事件子流程不能有任何入口或出口顺序流。因为事件子流程是由事件触发的,入口顺序流是没
有意义的;当事件子流程结束时,要么当前作用域已经结束了(中断事件子流程的情况),要么是非中
断子流程创建的并行执行结束。
(一)事件子流程处于“流程级别”
如图所示是使用错误开始事件触发事件子流程的例子,主流程是一个扩容流程,用户申
请扩容后,由客服进行扩容操作,如果扩容成功,流程正常结束;如果扩容失败,流程异常结束,
抛出错误信号。事件子流程捕获到错误信号触发,由管理员进行扩容操作,该事件子流程处于“流
程级别”,即流程实例的范围。

事件子流程处于流程级别示例
在这里插入图片描述

XML文件内容

<error id="errorStart" errorCode="501" />
  <process id="EventSubProcess" name="子流程-事件子流程" isExecutable="true">
    <startEvent id="a176c794d61404eecad5499bef1ad0827" />
    <userTask id="acb02ce20ac3e4a759349bc6a27b83edf" name="报销申请">
      <extensionElements>
        <flowable:formData />
        <flowable:assigneeType>static</flowable:assigneeType>
      </extensionElements>
    </userTask>
    <sequenceFlow id="a3cf9d622e7f244e593daa3de4ea5cd28" sourceRef="a176c794d61404eecad5499bef1ad0827" targetRef="acb02ce20ac3e4a759349bc6a27b83edf" />
    <exclusiveGateway id="Gateway_01ldt0g" default="Flow_1qlsjb2" />
    <sequenceFlow id="Flow_0if2u86" sourceRef="acb02ce20ac3e4a759349bc6a27b83edf" targetRef="Gateway_01ldt0g" />
    <endEvent id="Event_0h4opqw" />
    <sequenceFlow id="Flow_1qlsjb2" sourceRef="Gateway_01ldt0g" targetRef="Event_0h4opqw" />
    <sequenceFlow id="Flow_125nv4v" name="部门预算不够" sourceRef="Gateway_01ldt0g" targetRef="Event_1vmolrd">
      <conditionExpression xsi:type="tFormalExpression">${flag == false}</conditionExpression>
    </sequenceFlow>
    <subProcess id="Activity_093jvyy" name="制定部门预算子流程" triggeredByEvent="true">
      <userTask id="Activity_0imaet9" name="重新制定部门预算">
        <extensionElements>
          <flowable:formData />
          <flowable:assigneeType>static</flowable:assigneeType>
        </extensionElements>
      </userTask>
      <sequenceFlow id="Flow_031n3ls" sourceRef="Event_1czfv34" targetRef="Activity_0imaet9" />
      <endEvent id="Event_1rizm83" />
      <sequenceFlow id="Flow_0ljilul" sourceRef="Activity_0imaet9" targetRef="Event_1rizm83" />
      <startEvent id="Event_1czfv34">
        <extensionElements>
          <flowable:formData />
        </extensionElements>
        <errorEventDefinition errorRef="errorStart" flowable:errorVariableLocalScope="false" flowable:errorVariableTransient="false" />
      </startEvent>
    </subProcess>
    <endEvent id="Event_1vmolrd">
      <errorEventDefinition errorRef="errorStart" flowable:errorVariableLocalScope="false" flowable:errorVariableTransient="false" />
    </endEvent>
  </process>

视频教程

事件子流程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/824321.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue: dev-tools控制台不显示问题

安装好dev-tools 导致控制台不显示的原因&#xff1a; 使用的vue压缩版本 vue.min.js。配置问题导致 1.查看public/index.html中引用的vue是否为压缩版本&#xff08;vue.min.js&#xff09;。 需要把压缩版换成vue.js <% if (process.env.NODE_ENV production) { %> &…

C语言中char、short、int、long各占多少字节

1byte 8bit 一个字节占8个二进制位 windows操作系统&#xff0c;32位机中&#xff0c; char&#xff1a; 1个字节 short&#xff1a; 2个字节 int&#xff1a; 4个字节 long&#xff1a; 4个字节 以下是windows操作系统&#xff0c;32位机下的代码测试结果&#xff08;3…

嵌入式高星github项目仓库

awesome-embedded soft-and-hard freemodbus

C# 外观模式

概述 外观模式&#xff08;Facade Pattern&#xff09;是一种结构型设计模式&#xff0c;它提供了一个统一的接口&#xff0c;用于访问子系统中的一组接口。外观模式隐藏了子系统的复杂性&#xff0c;使得客户端可以通过简单的接口与子系统进行交互。 外观模式定义了一个高层…

计算机体系结构知识点大全

计算机体系结构知识点大全 计算机体系结构Chapter-1&#xff1a;计算机系统结构的基本概念Chapter-2&#xff1a;指令系统Chapter-3&#xff1a;流水线技术Chapter-4&#xff1a;存储层次Chapter-5&#xff1a;输入输出系统Chapter-6&#xff1a;多处理机Chapter-7&#xff1a;…

EXCEL,查询多条件数字/文本内容的多方法总结

目录 1 问题&#xff1a;如何根据多条件查询到想要的内容 2 方法1&#xff1a; sumif() 和sumifs() 只适合查找数字&#xff0c;不适合查找文本字符串类型的内容 3 使用lookup(1,0/(条件1*条件2*....),结果查询区域) 的方法 4 vlookup()if()数组公式 5 使用 index()match…

STM32按键控制LED灯-HAL库

前言 空窗了一年&#xff0c;重头再来点个灯吧&#xff0c;本篇文章将主要给大家讲解按键点灯 一、原理图设计 LED0-LED2 --------> PA0-PA2引脚 KEY1 ---------> PA3引脚 二、CubeMX的设置 LED选择GPIO一次将PA0、PA1、PA2设置为GPIO_Output&#xff0c;输出电平为…

向 Maven 中央仓库上传一个修改过的基于jeecg的autoPOI的 jar包记录

1、注册https://issues.sonatype.org/账号 下面就代表注册好了&#xff0c;同时提交的工单也通过了 2、这里主要是goupId 需要进行认证&#xff0c;需要到域名注册商近一个txt的解析&#xff0c;以便确保这个是你的 通过下面来验证你的域名信息&#xff0c;这里主要是上面的工…

Permute 3 for mac音视频格式转换

Permute是一款Mac平台上的媒体格式转换软件&#xff0c;由Chaotic Software开发。它可以帮助用户快速地将各种音频、视频和图像文件转换成所需格式&#xff0c;并提供了一些常用工具以便于用户进行编辑和处理。 Permute的主要特点包括&#xff1a; - 支持大量格式&#xff1a;支…

工程监测仪器振弦传感器信号转换器(VTI104_DIN)

工程监测仪器振弦传感器信号转换器&#xff08;VTI104_DIN&#xff09; 振弦传感器信号转换器&#xff0c;简称VTI104_DIN&#xff0c;是一种用于转换振弦传感器信号的电子设备。该设备可以将振弦传感器产生的模拟信号转换成标准的电压或电流输出&#xff0c;从而使其可以连接…

将网盘挂载到本地保姆级教程

视频链接&#xff1a;https://www.bilibili.com/video/BV1SA411B7qc Clouddrive2&#xff1a;是一款非常实用的国内网盘服务挂载应用。它支持多种国内知名网盘服务&#xff0c;包括阿里云盘、115云盘、天翼云盘等。通过CloudDrive 2&#xff0c;你可以将这些网盘服务挂载到你的…

中级课程——弱口令(认证崩溃)

文章目录 什么是弱口令密码生成器分类暴力破解万能密码测试环境工具 什么是弱口令 密码生成器 分类 暴力破解 万能密码 or true --测试环境 工具 九头蛇&#xff0c;超级弱口令爆破工具&#xff0c;bp&#xff0c;

Redis的键空间监听功能

文章目录 Redis 键空间通知一、keyspace介绍二、事件通知配置三、不同命令生成的事件四、客户端测试五、Springboot整合Redis键空间监听5.1 方式一5.2 方式二 Redis 键空间通知 一、keyspace介绍 keyspace&#xff08;键空间通知&#xff09;针对指定key发生的一切改动&#…

香港三维模型:基于GIS数据的精确三维城市模型及其周边2023年

基于GIS数据的精确三维城市模型及其周边2023年 包含的文件&#xff1a; 满城&#xff1a;15公里 信息&#xff1a; 仅在影院4D中设置基本卫星纹理 包含卫星/地图纹理 影院制作4d&#xff0c;可在标准渲染器中进行渲染 漫步建筑、树木&#xff08;mograph cloner&#xff…

【无标题】JSP--Java的服务器页面

jsp是什么&#xff1f; jsp的全称是Java server pages,翻译过来就是java的服务器页面。 jsp有什么作用&#xff1f; jsp的主要作用是代替Servlet程序回传html页面的数据&#xff0c;因为Servlet程序回传html页面数据是一件非常繁琐的事情&#xff0c;开发成本和维护成本都非常高…

虹科活动 | 走进宇通客车-汽车新供应链技术展精彩回顾

引言 7月27日&#xff0c;走进宇通客车-汽车新供应链技术展于宇通研发中心成功举办&#xff0c;本次展会中虹科为大家带来了一体化车载天线与车辆GNSS仿真测试方案&#xff0c;感谢您前来探讨与交流&#xff01; 精彩产品一览 车辆GNSS仿真测试方案 虹科高性能GNSS模拟器具有灵…

【二叉树进阶】二叉树经典面试题——最近公共祖先问题

文章目录 1. 二叉树的最近公共祖先1.1 思路1&#xff08;转换为链表相交问题&#xff09;1.2 链表相交问题讲解1.3 思路21.4 思路2AC代码 2. 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先2.1 思路分析2.2 AC代码 3. 普通二叉树求最近公共祖先的优化-转化为路径相交的问题3.1 思…

国产DSP,C2000,QX320F280049,打破TI垄断,支持国产

数字电源&#xff0c;光伏逆变器&#xff0c;微电机&#xff0c;充电桩&#xff0c;家电&#xff0c;机器人专用

Python绘图坐标系映射,对数坐标系

文章目录 对数坐标系自定义映射对数坐标图 对数坐标系 在实际绘图时&#xff0c;如果 x , y x,y x,y这两轴的数据变化速率相差过多&#xff0c;线性的坐标映射将无法展示图形变化的细节&#xff0c;就需要更改坐标系的数字映射逻辑&#xff0c;以获得更具细节的图像。 在matp…

【华为HCIP | 高级网络工程师】刷题日记(11)

个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名大二在校生&#xff0c;喜欢编程&#x1f38b; &#x1f43b;‍❄️个人主页&#x1f947;&#xff1a;落798. &#x1f43c;个人WeChat&#xff1a;见文末 &#x1f54a;️系列专栏&#xff1a;&#x1f5bc;️ 零…