JeecgFlow错误事件

事件定义

错误事件可以用做一个流程的开始事件或者作为一个任务或者子流程的边界事件,错误事件没有提供作用中间事件的功能,这一点和前面介绍的定时器事件和消息事件还有区别的。在错误事件中提供了错误结束事件。

BPMN错误和Java异常并没有直接关联。BPMN错误事件主要表示流程中出现的业务异常。例如,在财务审计流程中,有一个环节是审计财务状况是否正常,如果发现财务状况异常,则触发事先定义的错误事件,进入特定流程。

/**
 * 在服务任务中抛出错误信息,给到相同名称的错误事件
 */
public class MyFirstDelegate implements JavaDelegate {
    /**
     * 回调方法
     * @param execution
     */
    @Override
    public void execute(DelegateExecution execution) {
        System.out.println("服务任务执行了..." + LocalDateTime.now().toString());
        // 抛出错误 触发 子流程中的错误开始事件
        throw new BpmnError("error01");
    }
}

开始事件

错误开始事件(error start event)可以触发一个事件子流程,且总是在另外一个流程异常结束时触发。BPMN 2.0规定了错误开始事件只能在事件子流程中被触发,不能在其他流程中被触发,包括顶级流程、嵌套子流程和调用活动。错误启动事件不能用于启动流程实例。


错误开始事件不能独立存在,必须存在于事件子流程中。错误开始事件可以用来出发一个事件子流程。错误开始事件不能用来启动流程实例。错误开始事件都是中断事件。

错误开始事件可以在如下的场景中使用:

  • 输入验证失败:当用户提交工作流启动请求时,需要对输入的数据进行验证。如果数据不符合预期的格式或规则,可以使用错误开始事件来捕获并处理验证失败的情况。
  • 权限验证失败:在某些情况下,只有特定的用户或用户组才能启动某个工作流。当非授权用户尝试启动工作流时,可以使用错误开始事件来捕获并处理权限验证失败的情况。
  • 前置条件不满足:在工作流启动之前,可能需要满足一些前置条件,例如某个数据已经存在或某个服务可用。如果前置条件不满足,可以使用错误开始事件来捕获并处理这种情况。
  • 数据源异常:在工作流启动过程中,可能需要从外部数据源获取数据。如果数据源出现异常导致无法获取数据,可以使用错误开始事件来捕获并处理数据源异常的情况。

边界事件

当某个任务发生错误时,可以通过错误边界事件来捕获并处理该错误,以保证流程的正常执行。

错误边界事件可以在流程中的任务节点上定义,并与该任务节点关联。当任务节点执行过程中发生错误时,错误边界事件会被触发,并执行相应的处理逻辑,如发送错误通知、重新分配任务、跳转到其他节点等。

错误边界事件可以捕获多种类型的错误,如异常、超时、网络故障等。通过使用错误边界事件,可以增加流程的容错性,并提供更好的错误处理机制,保证流程的稳定性和可靠性。

需要注意的是,错误边界事件只能与任务节点关联,而不能与其他类型的节点(如网关、开始节点、结束节点)关联。
此外,在设计流程时,需要准确定义错误边界事件的触发条件和处理逻辑,以确保错误能够被正确捕获和处理。
具体我们通过案例来演示。

在这里插入图片描述

在线体验,请访问: JeecgFlow

结束事件

错误结束事件(Error End Event)是一个用于标记流程实例在特定错误条件下结束的节点。当流程实例执行到错误结束事件时,流程实例将立即终止执行,并且流程实例的状态将被标记为“错误结束”。

错误结束事件可以与错误边界事件(Error Boundary Event)结合使用,用于在流程中捕获和处理特定的错误。当错误边界事件触发时,流程会跳转到与错误边界事件关联的错误结束事件,从而使流程实例结束。

错误结束事件可以配置一个错误代码,用于标识特定的错误类型。在流程定义中,可以定义多个错误结束事件,每个事件可以有不同的错误代码。当流程实例执行到错误结束事件时,可以根据错误代码进行相应的处理,例如记录日志、发送通知等。

错误结束事件可以用于处理各种错误情况,例如系统异常、业务规则异常等。通过使用错误结束事件,可以使流程能够在错误发生时进行合理的处理,提高系统的可靠性和稳定性。

总之,错误结束事件是工作流中的一个节点,用于标记流程实例在特定错误条件下结束。<br>
它可以与错误边界事件结合使用,用于捕获和处理特定的错误。
通过使用错误结束事件,可以实现对流程中各种错误情况的处理和管理。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

tiktok数据分析应用介绍和tiktok数据分析平台分享

对于创作者、商家&#xff0c;tiktok官方有提供相应的数据分析为精细化运营给予辅助支持。 tiktok官方数据分析功能 TikTok Pro Account&#xff08;专业账户&#xff09;&#xff0c;包括CA账户&#xff08;Creator Account&#xff09;和BA&#xff08;Business Account&am…

ONLYOFFICE8.1版本桌面编辑器简单测评

ONLYOFFICE官网链接&#xff1a;在线PDF查看器和转换器 | ONLYOFFICE ONLYOFFICE介绍&#xff1a;https://www.onlyoffice.com/zh/office-suite.aspx OnlyOffice 是一款免费且开源的 Office 协作办公套件&#xff0c;支持桌面端和移动端等多平台&#xff0c;由一家领先的 IT 公…

Python深度理解系列之【排序算法——冒泡排序】

读者大大们好呀&#xff01;&#xff01;!☀️☀️☀️ &#x1f440;期待大大的关注哦❗️❗️❗️ &#x1f680;欢迎收看我的主页文章➡️木道寻的主页 文章目录 &#x1f525;前言&#x1f680;冒泡排序python实现算法实现图形化算法展示 ⭐️⭐️⭐️总结 &#x1f525;前…

师傅们 ~ 2024HW一手资料

各位师傅们&#xff0c;2024HW来了&#xff01; 从2026年开始&#xff0c;随着我国对网络安全的重视&#xff0c;涉及单位不断增加&#xff0c;越来越多单位和个人都加入到HW当中。 2024HW就在眼前&#xff0c; 那么还有不了解或者还没投简历面试的朋友们&#xff0c;需要注意…

职升网:中级会计师考试难度是怎样的?

中级会计师考试确实被普遍认为是具有一定难度的考试。以下是我对其难度的分析&#xff1a; 一、知识体系的广泛性 中级会计师考试覆盖的内容十分广泛&#xff0c;包括但不限于财务管理、财务会计、成本会计、税法等。这就要求考生具备扎实的基础知识和广泛的知识面&#xff0…

咨询公司在推行TPM管理中有哪些不可替代的作用?

TPM管理作为一种先进的生产维护理念&#xff0c;正逐渐成为企业追求卓越生产性能的不二之选。在这场转型升级的浪潮中&#xff0c;咨询公司扮演着不可替代的角色&#xff0c;它们如何助力企业成功推行TPM管理&#xff0c;成为了我们今天要探讨的焦点。 一、专业引领&#xff0c…

在Ubuntu 22.04 LTS 上安装 MySQL两种方式:在线方式和离线方式

Ubuntu安装MySQL 介绍&#xff1a; Ubuntu 是一款基于Linux操作系统的免费开源发行版&#xff0c;广受欢迎。它以稳定性、安全性和用户友好性而闻名&#xff0c;适用于桌面和服务器环境。Ubuntu提供了大量的软件包和应用程序&#xff0c;拥有庞大的社区支持和活跃的开发者社区…

五、【源码】资源加载器

源码地址&#xff1a;https://github.com/spring-projects/spring-framework 仓库地址&#xff1a;https://gitcode.net/qq_42665745/spring/-/tree/05-resource-loader 资源加载器 流程&#xff1a; 1.初始化BeanFactory 2.创建XmlBeanDefinitionReader用于从 XML 文件中读…

LoadRunner初学篇

我也是初学&#xff0c;写一篇文章记录下过程及心得&#xff0c;有不同建议的大佬可评价&#xff0c;感谢提携 这是什么 LoadRunner&#xff0c;是一种预测系统行为和性能的负载测试工具。通过模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题&#xff0c;Loa…

焦化厂甲烷气体监测:甲烷传感器如何选择?

在焦化厂的日常运营中&#xff0c;煤的高温干馏和石油的渣油焦炭化是两大关键工艺。这些过程中&#xff0c;不仅产生了众多我们日常生活所需的化学产品&#xff0c;如糖精、焦油、沥青等&#xff0c;还伴随着大量焦炉煤气的生成。然而&#xff0c;这些煤气中含有的高浓度甲烷等…

坑——python的redis库的decode_responses设置

python的redis库查询返回的值默认是返回字节串&#xff0c;可以在redis.Redis()方法中通过设置decode_responses参数&#xff0c;让返回值直接是字符串&#xff1b; 查询返回字节串是因为Redis()方法中decode_responses默认值是False&#xff1a; 设置decode_responses为True就…

解决“Undefined control sequence. \hline”

解决“Undefined control sequence. \hline” Q:创建表格时显示错误“Undefined control sequence. \Xhline”A:解决方法C介绍\usepackage{makecell}作用使用方法示例其他功能总结 Q:创建表格时显示错误“Undefined control sequence. \Xhline” MTMAGVDPP.tex: 错误: 211: Un…

开源TTS模型支持中日韩并可以微调自己的声音模型;微软开源的知识图谱RAG;RAG和LLMs构建的搜索应用程序

✨ 1: Fish Speech Fish Speech 开源TTS模型支持中日韩&#xff0c;语音合成不止于自然 Fish Speech 是一个开源的语音生成项目&#xff0c;致力于开发和改进语音合成技术。项目最新稳定版本为1.1.2&#xff0c;并正在向1.2版本更新中。 Fish Speech 虽然仅为亿级参数的模型&…

huggingface datasets 数据集下载

pip install datasets但是国内下载一般由于网络下载失败&#xff1a;ConnectionError: Couldn’t reach ‘reach-vb/pokemon-blip-captions’ on the Hub (ConnectionError) 解决办法&#xff08;先vp*下载&#xff09;&#xff1a; 下载使用 from datasets import Dataset, …

Cube-Studio:开源大模型全链路一站式中台

开源项目&#xff0c;欢迎star哦&#xff0c;https://github.com/data-infra/cube-studio 一款真正意义的 LLMOps 框架 LLMOps&#xff08;Large Language Model Operations&#xff09;是一个涵盖了大型语言模型&#xff08;如GPT系列&#xff09;开发、部署、维护和优化的一…

海外报纸媒体投放形式分为哪些?传播当中有什么优势-大舍传媒

国外报纸媒体投放新闻稿作为一种传统而有效的传播方式&#xff0c;依然在现代媒体环境中保持着其独特的价值和权威性。以下几点阐述了报纸媒体宣发的几个关键方面&#xff0c;特别是当通过专业机构如大舍传媒进行操作时&#xff1a; 权威性和公信力&#xff1a;报纸作为历史悠久…

使用瀚高数据库开发管理工具进行数据的备份与恢复---国产瀚高数据库工作笔记008

使用瀚高数据库,备份 恢复数据 然后找到对应的目录 其实就是hgdbdeveloper,瀚高的数据库开发管理工具 对应的包中有个dbclient 这个目录,选中这个目录以后,就可以了,然后 在对应的数据库,比如 data_middle 中,选中 某个模式,比如bigdata_huiju 然后右键进行,点击 恢复,然…

pycharm的usages在哪设置?

参考文章&#xff1a;https://blog.51cto.com/save/8961821 在代码编辑器&#xff08;如PyCharm或IntelliJ IDEA&#xff09;中&#xff0c;"1 usage"通常表示当前光标所在的代码元素&#xff08;如变量、函数、类等&#xff09;在其他地方被使用了一次。这个功能可…

springboot java.lang.ClassNotFoundException: dm.jdbc.driver.DmDriver 应该如何解决

遇到的问题&#xff1a;项目中引用了外部的达梦jar包 在idea中正常使用 也能找到dm.jdbc.driver.DmDriver 驱动 但是当通过jenkins 构建部署到服务器上 总是报 ClassNotFoundException: dm.jdbc.driver.DmDriver 找不到驱动 应用到的驱动代码如下格式 排查步骤 1.首先看你的项…

怎么将视频字幕提取翻译?字幕提取的方法大全来了

谁说提取视频字幕非得大费周章&#xff1f;其实用专业软件也能轻松搞定字幕转换&#xff0c;让你告别传统繁琐的转文字工作&#xff01; 想象一下&#xff0c;简单的几个步骤&#xff0c;你的视频就能从屏幕上的文字转化为可编辑的文档。是不是已经迫不及待想要尝试了&#xf…