BPMN模拟动画执行流程

news2024/11/25 4:18:05

目录

第一步:构建BPMN图

第二步:开启模拟

第三步:执行模拟

第四步:监听模拟


第一步:构建BPMN图

 通过id标记,每一个流程

第二步:开启模拟

BPMN官方提供了各种各样的模块,比如执行模拟,就使用了流程模拟模块

在初始化BPMN的时候,可以加入该模块,我们将流程模拟模块加入到additionalModules这个计算属性中

初始化的时候,使用该属性。

此时,我们的BPMN这个对象就已经构建完成。

在这个对象上,有很多的工具,当然这些工具,是你自己导进去的,就和上面一样。

我这里给出一些基本的工具方法(或者说是我的BPMN集成的工具)。

在这里我们可以看到,有一个切换模式的工具toggleMode

我们就可以调用它,来开启一个模拟

此时可以看出,BPMN的模拟已经开启。

第三步:执行模拟

在默认的开启模式中,我们可以通过点击开始事件,来执行BPMN流程的模拟。

第四步:监听模拟

我们实际要做的工作,其实是对模拟的监听,监听到我想要的东西后,对其进行操作。

BPMN提供了EventBus,他提供了一堆的监听事件,其实从初始化BPMN后的每一步,我们都可以监听到,无论是创建任务,导入BPMN,导出等等一系列的事情,都是被BPMN监听着的。

EventBus中有这些属性

这里就不去一一讲述。

我们挑选出一个典型的事件:执行过程的监听

需要用到这个监听事件tokenSimulation 令牌模拟事件下的生成令牌(generateToken)

在这里说明一下:开启流程,等于说是创建了一个令牌,每一次的流程的模拟,就是一个令牌的模拟。

此时我们就可以调用这个事件,来监听我们的令牌。

在这里我们就可以做自己想做的任何事情了,比如:我想让令牌执行到,任务Activity_005trsa的时候让流程暂停。

于是乎,我们就可以先拿到BPMN工具库里面的暂停工具。

拿到之后,就判断是否有id为Activity_005trsa,有就暂停这个事件。

这个时候令牌就被暂停了,想要继续执行,那就让令牌激活,继续执行。

最终效果图如下:

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

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

相关文章

修改linux ssh 22 端口

1、找到 sshd 的配置文件,增加一行 Port 32586 ,默认是 22 端口,记得,先不要把 22 端口的这一行删除,或者注释,因为我们要先验证一下,我们修改后的端口是否可以使用,都ok后,再把 22 …

精通Java数组的艺术:从初学者到高手的进阶之路(二)

⭐ 多维数组⭐ 数组存储表格数据⭐ Comparable 接口 ⭐ 多维数组 多维数组可以看成以数组为元素的数组。可以有二维、三维、甚至更多维数组,但是实际开发中用的非常少。最多到二维数组。 【eg】二维数组的声明 public class Test {public static void main(Strin…

一起看 I/O | Wear OS 更新一览

作者 / Android 开发者关系工程师 Kseniia Shumelchyk 随着 Wear OS 平台的不断发展,我们很高兴与您分享一些最新的功能和改进,以帮助您为用户打造富有吸引力的创新体验。 Peloton 和 Todoist 等合作伙伴一直以来都针对 Wear OS 打造卓越体验&#xff0c…

Android自定义一个车牌字母选择键盘

在一般和车相关的应用,难免会和车牌打交道,组成车牌的要素,国内无非就是省份简称地区代码英文或者数字组成,比如京A12345,在需要输入车牌的功能上,就需要有省份简称键盘和英文数字键盘了,在上篇…

深度学习(自编码器)

深度学习目录 自适应线性单元 (Widrow and Hoff, 1960)神经认知机 (Fukushima, 1980)GPU-加速 卷积网络 (Chellapilla et al., 2006)深度玻尔兹曼机 (Salakhutdinov and Hinton, 2009a)无监督卷积网络 (Jarrett et al., 2009b)GPU-加速 多层感知机 (Ciresan et al., 2010)分布…

人工影响天气期末复习笔记

(一)什么是人工影响天气 利用自然云微物理不稳定性,通过一定的技术方法改变云的微结构,从而改变云降水的发展过程,从而达到增加降水,防雹,消云雾等目的 (二)为什么要人工…

【历史上的今天】6 月 6 日:世界 IPv6 启动纪念日;《俄罗斯方块》发布;小红书诞生

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2023 年 6 月 6 日,在 2019 年的今天,工信部正式发放 5G 牌照。这一天,有四家企业被颁发了基础电信业务经营许可证,从此…

社区团购系统源码后台解析

近年来,随着购物方式的改变,社区团购可以说是越来越受关注了,大家应该对社区团购多多少少有一些认知,其实社区团购这样的商业模式拥有强大的赚钱的潜力,主要就是因为它的运营成本低,而且上手也不需要很复杂…

FPGA设计的指导性原则 (四)

在FPGA Express/FPGA Compiler II中,用鼠标右键单击编译后的芯片图标, 在弹出的命令对话框中选择“Edit Constraints”命令编辑综合约束文件(扩展 名为CTL),选择端口(Ports)选项卡,指定所需信号的全局时钟域为 “DONT USE”。图22所示为在FPGA Express综合约束编辑器中…

私有化部署低代码开发工具:jvs-rules 规则引擎决策流参数说明

JVS规则引擎决策调用 通过决策流水号查询入参变量 [请求参数]决策流 ​ GET/mgr/risk//test/parameter/flow/{no} 请求数据类型 application/x-www-form-urlencoded 响应数据类型 [ "*/*" ] 请求参数 参数名称 参数说明 请求类型 是否必须 数据类型 sch…

【Flutter混合开发】开发一个简单的快速启动框架

目录 前言启动插件Flutter代码Android代码IOS代码 启动模块使用android端ios端 前言 因为在移动端中启动Flutter页面会有短暂空白,虽然官方提供了引擎预热机制,但是需要提前将所有页面都进行预热,这样开发成本较高,在研究了闲鱼的…

通过点引导掩码表示的弱半监督实例分割

文章目录 The Devil is in the Points: Weakly Semi-Supervised Instance Segmentation via Point-Guided Mask Representation摘要本文方法Weakly Semi-Supervised Instance Segmentation using Point LabelsMask Refinement Network 实验结果消融实验 The Devil is in the Po…

【JavaEE】HTTP状态码-HTTP数据报的构造

HTTP状态码HTTP数据报的构造 文章目录 JavaEE & HTTP状态码 & HTTP数据报的构造1. HTTP状态码1.1 200 - OK1.2 404 - Not Found1.3 403 - Forbidden1.4 500 - Internal Server Error1.5 504 - Gateway Timeout1.6 302/301 重定向 2. 构造HTTP请求2.1 浏览器搜索栏输入u…

Express应用之记账本项目总结

前言 在学完nodejs相关知识后第一个实践就是这个记账本项目,本篇文章是对项目遇到的问题的总结。 先聊聊技术栈: 前端技术:h5结合bootstrap框架; 后端技术:nodejsExpress框架lowdb数据库。 gitee地址:ht…

FinalShell界面左侧为什么能够监测系统指标动态变化的原理并用python实现

前言: 我们可以看出FinalShell是用Java写的,具体怎么看出来的,不能光看界面logo是Java的logo,还要进它的安装目录下进行查看是否真是用Java编写的!!! 具体查看如下: 查看finalshe…

软件外包开发在线监测工具

软件系统上线后需要在线网络工具监测系统的运行,这样在系统出现故障时第一时间通知到系统维护人员,对于软件系统的稳定运行是必不可少的监测工具。今天和大家分享一些常用的在线监测工具,希望对大家有所帮助。北京木奇移动技术有限公司&#…

Vue.js 中的 TypeScript 支持是什么?如何使用 TypeScript?

Vue.js 中的 TypeScript 支持 Vue.js 是一款流行的前端框架,它提供了一种简单、灵活的方式来构建用户界面。随着 TypeScript 的普及,Vue.js 也开始支持 TypeScript,使得开发者可以使用类型检查等 TypeScript 特性来提高代码质量和可维护性。…

看完这篇卡尔曼滤波原理,我被惊到了!

在网上看了不少与卡尔曼滤波相关的博客、论文,要么是只谈理论、缺乏感性,或者有感性认识,缺乏理论推导。能兼顾二者的少之又少,直到我看到了国外的一篇博文,真的惊艳到我了,不得不佩服作者这种细致入微的精…

Vue-- 锚点实现左右两栏联动--scrollIntoView方法

官网:scrollintoView 通过滚动浏览器窗口或某个容器元素,调用元素就可以出现在视窗中。 利用scrollIntoView() 函数 默认是true document.getElementById(需要滚动的div的id).scrollIntoView() 如果给该方法传入true作为参数,或者不传入任何参…

什么是 Vue.js 中的 computed 属性?

什么是 Vue.js 中的 computed 属性? 在 Vue.js 中,computed 属性是一个非常重要的概念。它提供了一种方便的方式来计算和监听 Vue.js 实例中的属性,从而使得代码更加简洁、易于维护。在本文中,我们将详细介绍 computed 属性的原理…