为了使用户可以在流程中产生逻辑异常(比如参与者设置为空)后,工作流引擎引入了异常补偿功能,通过这个功能,用户可以对流程产生的逻辑异常进行自定义的补偿。我们通过在流程中引入异常活动来完成客户的逻辑异常补偿自定义化的工作。
异常活动是一种新的活动类型,通过异常活动可以完成流程逻辑异常的补偿。异常活动不需要像其他活动一样设置其活动属性。通过后继转移线来完成异常的用户自定义补偿工作,如下图所示,在报销申请的时候,用户选择领导审批,当他没有选择领导直接提交工作项后,在领导审批的时候因为参与者为空则会产生逻辑异常,这是工作流引擎会激发流程中的异常活动,通过异常活动的后继活动完成用户的异常补偿工作。
如果一个流程会产生多种不同的逻辑异常,我们可以通过异常活动的后继转移线来完成不同异常的补偿工作。我们包含以下几种逻辑异常:
参与者表达式异常:设置参与者有误产生的异常,比如参与者为空。
条件表达式异常:设置转移线表达式错误产生的异常。
后继条件不满足异常:流程流转完成某个活动后,该活动的后继转移线的条件都不满足,会抛出后继条件不满足异常。
调用应用程序出错异常:在调用应用程序出错时会产生该异常。
参与者函数异常:流程运转时,在调用用户的自定义参与者函数时候产生的异常。
下面是异常活动的后继转移线条件的设置面板:
如果需要对不同的活动产生的异常进行异常补偿的话,可以通过激发异常活动的活动定义ID这个变量(ActivityID)来进行区分。比如流程中活动A(活动ID为1)和活动B(活动ID为2)都可能产生异常,但是活动A和活动B要进行不同的异常补偿。这时候可以在异常补偿活动后面设置两条转移线,通过ActivityID这个全局变量来设置转移线条件,异常活动的转移线条件和普通的转移线条件设置方式类似。
分享到:
相关推荐
计算机课设毕设资料-工作流引擎异常处理的研究与实现+答辩PPT: 本文首先简单介绍工作流引擎、XPDL流程定义语言等基础技术。研究了基于流程异常分类的处理方法,我们分为可预测异常和非可预测异常进行相应处理的研究...
第一篇 jBPM工作流开发基础 1 第1章 工作流基础 2 1.1 工作流概念 2 1.1.1 工作流管理思想之于企业现代化管理 2 1.1.2 工作流技术在企业中的应用 5 1.1.3 如何从一个开发者的角度看工作流技术 6 1.2 工作流管理系统...
在常用的ERP系统、OA系统的开发中,工作流引擎是一个必不可少的工具。本项目旨在基于Spring boot这一平台,整合业界流行的工作流引擎Activiti,并建立了两个完整的工作流进行演示:请假OA和采购流程。 其中包含的...
Stepify(node-stepify) 是一个简单易扩展的Node.js流程控制引擎,采用方法链(methods chain)的方式定制异步任务,使得Node.js工作流易于理解和维护。 目标是将复杂的任务进行拆分成多步完成,使得每一步的执行过程...
WF会定期在各个持久性点(Persistence Point)检查并将工作流实例保存到持久化存储中,这样如果工作流出现错误或是异常终止时相关的信息就会被存储,下次加载工作流实例时就会从此做为开始点。这个主要是针对工作内置...
坚持学习WF(18):使用IPendingWork接口 WF会定期在各个持久性点(Persistence Point)检查并将工作流实例保存到持久化存储中,这样如果工作流出现错误或是异常终止时相关的信息就会被存储,下次加载工作流实例时就会...
开源OA协同办公系统,集成Flowable流程引擎 可拖拽创建个性表单。基于RuoYi-VUE版本开发。 1、使用RuoYi-Vue的基础上开发。 2、集成flowable,并与系统用户角色进行绑定,可非常方便的设置任务的办理人与办理角色...
6.字典管理:对系统中经常使用的一些较为固定的数据进行维护。 7.参数管理:对系统动态配置常用参数。 8.通知公告:系统通知公告信息发布维护。 9.操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和...
6.8.4. 在你的应用程序中使用规则流 153 6.9. XML规则语言 153 6.9.1. 何时使用XML 153 6.9.2. XML 格式 154 6.9.3. 遗留的Drools 2.x XML 规则格式 159 6.9.4. Automatic transforming between formats (XML and ...
索引器IndexWriter的功能主要就是创建索引,是建立索引工作中最核心的。 当构造完一个索引器IndexWriter之后,就可以向其中添加Document了。 在前面Lucene-2.2.0 源代码阅读学习(1)中,根据Lucene提供的一个Demo,...
支持工作流层异常诊断,识别各种故障并基线耗时异常 问题。 支持 Spark 引擎层异常诊断,包括数据倾斜、大表扫描、 和记忆浪费。 支持各种日志匹配规则编写和异常阈值调整,可根据实际进行优化 场景。
在常用的ERP系统、OA系统的开发中,工作流引擎是一个必不可少的工具。本项目旨在基于Spring boot这一平台,整合业界流行的工作流引擎Activiti,并建立了两个完整的工作流进行演示:请假OA和采购流程。 其中包含的...
├─状态机工作流 StateMachineWorkflowActivity │ │ StateActivity中多个EventDrivenActivity的使用说明.doc │ │ 状态容器 StateActivity.doc │ │ 状态机工作流容器 StateMachineWorkflowActivity....
工作流引擎是工作流的核心,能够让我们定义出来的工作流部署起来。 由于我们使用工作流的时候是有很多数据产生的,因此Activiti是将数据保存到数据库表中的。这些数据库表由Actitviti创建,由Activiti维护。 ...
Mysql工作流引擎:jBPM云平台:SAE类别技术前台基础jQuery、requireJS、JS.SDK前台MVCAngular前台UIBootstrap后台MVCSpringMVCIocSpring工作流引擎jBPM数据库Mysql云平台SAE前端框架组件UCJS接口页面模态框异常消息...
紫色表示孙节点(三级) 10 KAE是一种认知引擎(Cognitive Engine) 11 其中 编码(解决问题)和 抽象 是知识资产流动增值创新过程中最重要 的两个环节 编码:事物形式表达方式,是一种分类 抽象:形式的潜在结构,...
用户管理:用户是系统操作者,该功能主要完成系统用户配置。 机构管理:配置系统组织机构(公司、部门、小组),树结构展现,可随意调整上下级。... 工作流引擎:实现业务工单流转、在线流程设计器。
Guns-JPA 基于开源项目 介绍 基于枪支,整合springboot + shiro + spring-data-jpa + spring-data-redis + beetl! 枪支v3.0增加剩余api服务,提供对接服务端接口的支持,并利用jwt...完善的日志记录体系,异常日志
1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 2. 机构管理:配置系统组织机构(公司、部门、小组),树结构展现,可随意调整上下级。...9. 工作流引擎:实现业务工单流转、在线流程设计器。
在常用的ERP系统、OA系统的开发中,工作流引擎是一个必不可少的工具。本项目旨在基于Spring这一平台,整合业界流行的工作流引擎Activiti,并建立了两个完整的工作流进行演示:请假OA和采购流程。 其中包含的内容如下...