流程引擎问题系列1-No outgoing sequence flow of element
一、问题内容
在flowable流程引擎实际使用过程中,制定了模板之后,在实际的运行实例过程中,报出了org.flowable.common.engine.api.FlowableException: No outgoing sequence flow of element 'xxx' could be selected for continuing the process
二、解决方式
(1)首先寻找原因
1.这个是在提交流程过程中报出来的,而这个节点是在流程的末尾,在之前的节点是没有问题的,因此先去除业务数据的问题。
2.这个节点之后添加条件或者审批人,都不会复现这样的问题。
3.这个节点使用了持久化参数和瞬时参数都有使用过,不同的使用方式,报错的位置不同,有的在节点之前报,有的在节点之后报
(2)确认问题
1.再确认了业务数据没有问题之后,再次确认流程的参数也是没有使用问题后,分析原因应该在流程模板上。
2.仔细看了流程配置的界面(跟钉钉后台的流程配置有点类似,就是简单了点),发现确实没有问题,猜测可能界面显示是没有问题,但实际的bpmn是有问题的。DEBUG到对应的xml数据生成的地方,复制到另外一个文件当中,进行一个一个xml节点查看,结果一看,发现最后的节点或者条件会多一个对应的条件判断节点,而界面是没有显示的---问题找到了。
<?xml version="1.0" encoding="UTF-8"?><definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn"xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI"typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath"targetNamespace="http://www.flowable.org/processdef"><process id="CESHI123" name="ceshi" isExecutable="true"><startEvent id="startEvent1"></startEvent><userTask id="789" name="发起人"></userTask><sequenceFlow id="f1" sourceRef="startEvent1" targetRef="789"></sequenceFlow><exclusiveGateway id="456" default="456default"></exclusiveGateway><sequenceFlow id="123" sourceRef="789" targetRef="456"></sequenceFlow><userTask id="userAudit" name="审核人" flowable:candidateUsers="audit"><extensionElements><modeler:user-info-email-audit xmlns:modeler="http://flowable.org/modeler"><![CDATA[audit@qq.com]]></modeler:user-info-email-audit><modeler:user-info-firstname-audit xmlns:modeler="http://flowable.org/modeler"><![CDATA[audit]]></modeler:user-info-firstname-audit><modeler:activiti-idm-candidate-user xmlns:modeler="http://flowable.org/modeler"><![CDATA[true]]></modeler:activiti-idm-candidate-user><modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![CDATA[false]]></modeler:initiator-can-complete></extensionElements></userTask><sequenceFlow id="b1" sourceRef="456" targetRef="userAudit"><conditionExpression xsi:type="tFormalExpression"><![CDATA[${(test=='0' || test=='2' || test=='3')&&(doc.contains('7777'))}]]></conditionExpression></sequenceFlow><endEvent id="b2"></endEvent><sequenceFlow id="b3" sourceRef="userAudit" targetRef="b2"><conditionExpression xsi:type="tFormalExpression"><![CDATA[${(test=='0' || test=='2' || test=='3')&&(doc.contains('7777'))}]]></conditionExpression><extensionElements><flowable:executionListener event="start" delegateExpression="${flCompleteTaskStartListener}"></flowable:executionListener></extensionElements></sequenceFlow><sequenceFlow id="456default" sourceRef="456" targetRef="b2"><extensionElements><flowable:executionListener event="start"delegateExpression="${flCompleteTaskStartListener}"></flowable:executionListener></extensionElements></sequenceFlow></process><bpmndi:BPMNDiagram id="BPMNDiagram_f1"><bpmndi:BPMNPlane bpmnElement="f1" id="BPMNPlane_f1"><bpmndi:BPMNShape bpmnElement="startEvent1" id="BPMNShape_startEvent1"></bpmndi:BPMNShape><bpmndi:BPMNShape bpmnElement="789"id="BPMNShape_789"></bpmndi:BPMNShape><bpmndi:BPMNEdge bpmnElement="f1"id="BPMNEdge_f1"></bpmndi:BPMNEdge><bpmndi:BPMNShape bpmnElement="456"id="BPMNShape_456"></bpmndi:BPMNShape><bpmndi:BPMNEdge bpmnElement="123"id="BPMNEdge_123"></bpmndi:BPMNEdge><bpmndi:BPMNShape bpmnElement="userAudit"id="BPMNShape_userAudit"></bpmndi:BPMNShape><bpmndi:BPMNEdge bpmnElement="b1"id="BPMNEdge_b1"></bpmndi:BPMNEdge><bpmndi:BPMNShape bpmnElement="b2"id="BPMNShape_b2"></bpmndi:BPMNShape><bpmndi:BPMNEdge bpmnElement="b3"id="BPMNEdge_b3"></bpmndi:BPMNEdge><bpmndi:BPMNEdge bpmnElement="456default"id="BPMNEdge_456default"></bpmndi:BPMNEdge></bpmndi:BPMNPlane></bpmndi:BPMNDiagram></definitions>
重复条件:
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${(test=='0' || test=='2' || test=='3')&&(doc.contains('7777'))}]]></conditionExpression>
3.问题的原因就是实际走的流程与界面上显示的流程是不一样的。
(3)解决问题
1.修改实际的bpmn.xml生成的组装方式
2.实际重新保存模板与测试
3.问题解决
流程引擎问题系列1-No outgoing sequence flow of element相关推荐
- Flowable No outgoing sequence flow of the exclusive gateway ‘xxx‘ could be selected for continuing
前面在定义流程xml文件,并进行部署的过程中,遇到过"[Validation set: 'flowable-executable-process' | Problem: 'flowable- ...
- Flowable Exclusive gateway has no outgoing sequence flow
在解析数据,自己组装成flowbale bpmn20.xml文件过程中,将该文件进行部署,发现报错: org.flowable.common.engine.api.FlowableException: ...
- No outgoing sequence flow of the exclusive gateway ‘XXX‘ could be selected for continuing the proces
不满足流程图的排他网关设置了[条件表达式]的条件,注意设置条件表达式值时,内容不要出现空格. No outgoing sequence flow of the exclusive gateway 's ...
- 使用Camunda流程引擎,关于包容性网关(Inclusive Gateway)使用
在使用开源Camunda流程引擎做二次开发时,网关是必须要接触的.在Camunda的 Modeler工具中提供了4种类型的网关:Exclusive Gateway(独占网关).Parallel Gat ...
- Flowable 流程引擎系列文章导读
Flowable 流程引擎系列文章导读 集成篇 入门教程篇 功能篇 其他问题 集成篇 Flowable 快速入门教程:SpringBoot 集成 Flowable + Flowable Modeler ...
- 驰骋工作流引擎设计系列07 线性流程节点运动(发送)设计
第1节. 关键字 驰骋工作流引擎 流程快速开发平台 workflow ccflow jflow 第1节. 线性流程节点运动(发送)设计 发送就是从一个节点发送到另外一个节点,也可以说从一个节点运动到另 ...
- 驰骋工作流引擎设计系列04 流程引擎表结构的设计
第1节. 关键字 驰骋工作流引擎 流程快速开发平台 workflow ccflow jflow 第1节. 流程引擎表结构的设计 流程引擎表是流程引擎控制流程运转的数据存储表,是整个流程引擎的核心表.理 ...
- JVS开源框架系列-流程引擎「含开源地址」
一.项目简介 JVS是面向软件开发团队可以快速实现应用的基础开发框架,采用微服务分布式框架,提供丰富的基础功能,集成众多业务引擎,它灵活性强,界面化配置对开发者友好,底层容器化构建,集合持续化构建. ...
- 流程引擎activiti
1.Activiti简介 2.入门程序 3.使用详解 4.springboot2.0整合工作流activiti6.0以及与业务集成时的一些坑 5.删除异常的流程 6.系列文章 7.提交.审批.撤销 8 ...
最新文章
- java 调内存_java内存设置
- linux 安装 hadoop
- python——生成器详解
- 计算机视觉与深度学习 | 基于Matlab提取SIFT特征点(源代码)
- react-router的使用(二)——NavLink的使用、Switch的作用、Redirect
- Jquery getJSON方法分析(二)
- Linux目录管理类命令之ls
- 手机应用url抓取_Python爬虫入门,快速抓取大规模数据(第六部分)
- java正则表达式的进阶使用20180912
- springboot - 应用实践(1)认识springboot
- 如何实现微信小程序API的Promise化
- Pssp-mvirt: 基于多视图深度学习架构的肽二级结构预测
- Aladdin推出软件智能卡和一次性密码认证解决方案
- 【代码质量】嵌入式编程节约内存技巧
- HDU 1863 (图论基础prim算法)
- 在c51语言中当while语句中条件,在C51语言中,当do-while语句中的条件为( )时,结束循环。...
- 视频点播/直播类网站
- c语言scanf_s函数详解,scanf_s()函数
- Wireshark的提示
- 货币兑换(指针与常量)
热门文章
- C语言用func函数编写程序,C语言程序设计教程第四章练习题解析(1)
- java grabcut,在OpenCV中应用GrabCut算法后获取相同的图像
- 如何防止被踢之人加群
- c语言竖着输出一段字母,c语言,横着输入,竖着输出,绝对有难度
- Spring框架中常用的设计模式详解
- 2012-2013百度搜索引擎优化大事记
- python调用C语言里面的函数
- 【机器学习PAI实战】—— 玩转人工智能之利用GAN自动生成二次元头像...
- 把百度设置为搜索引擎后总是跳转到百度首页的解决办法
- 六年级下册计算机电子板报教案,六年级下册信息技术教案11制作电子小报|浙江摄影版(新)...