一、问题内容

在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相关推荐

  1. Flowable No outgoing sequence flow of the exclusive gateway ‘xxx‘ could be selected for continuing

    前面在定义流程xml文件,并进行部署的过程中,遇到过"[Validation set: 'flowable-executable-process' | Problem: 'flowable- ...

  2. Flowable Exclusive gateway has no outgoing sequence flow

    在解析数据,自己组装成flowbale bpmn20.xml文件过程中,将该文件进行部署,发现报错: org.flowable.common.engine.api.FlowableException: ...

  3. 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 ...

  4. 使用Camunda流程引擎,关于包容性网关(Inclusive Gateway)使用

    在使用开源Camunda流程引擎做二次开发时,网关是必须要接触的.在Camunda的 Modeler工具中提供了4种类型的网关:Exclusive Gateway(独占网关).Parallel Gat ...

  5. Flowable 流程引擎系列文章导读

    Flowable 流程引擎系列文章导读 集成篇 入门教程篇 功能篇 其他问题 集成篇 Flowable 快速入门教程:SpringBoot 集成 Flowable + Flowable Modeler ...

  6. 驰骋工作流引擎设计系列07 线性流程节点运动(发送)设计

    第1节. 关键字 驰骋工作流引擎 流程快速开发平台 workflow ccflow jflow 第1节. 线性流程节点运动(发送)设计 发送就是从一个节点发送到另外一个节点,也可以说从一个节点运动到另 ...

  7. 驰骋工作流引擎设计系列04 流程引擎表结构的设计

    第1节. 关键字 驰骋工作流引擎 流程快速开发平台 workflow ccflow jflow 第1节. 流程引擎表结构的设计 流程引擎表是流程引擎控制流程运转的数据存储表,是整个流程引擎的核心表.理 ...

  8. JVS开源框架系列-流程引擎「含开源地址」

    一.项目简介 JVS是面向软件开发团队可以快速实现应用的基础开发框架,采用微服务分布式框架,提供丰富的基础功能,集成众多业务引擎,它灵活性强,界面化配置对开发者友好,底层容器化构建,集合持续化构建. ...

  9. 流程引擎activiti

    1.Activiti简介 2.入门程序 3.使用详解 4.springboot2.0整合工作流activiti6.0以及与业务集成时的一些坑 5.删除异常的流程 6.系列文章 7.提交.审批.撤销 8 ...

最新文章

  1. java 调内存_java内存设置
  2. linux 安装 hadoop
  3. python——生成器详解
  4. 计算机视觉与深度学习 | 基于Matlab提取SIFT特征点(源代码)
  5. react-router的使用(二)——NavLink的使用、Switch的作用、Redirect
  6. Jquery getJSON方法分析(二)
  7. Linux目录管理类命令之ls
  8. 手机应用url抓取_Python爬虫入门,快速抓取大规模数据(第六部分)
  9. java正则表达式的进阶使用20180912
  10. springboot - 应用实践(1)认识springboot
  11. 如何实现微信小程序API的Promise化
  12. Pssp-mvirt: 基于多视图深度学习架构的肽二级结构预测
  13. Aladdin推出软件智能卡和一次性密码认证解决方案
  14. 【代码质量】嵌入式编程节约内存技巧
  15. HDU 1863 (图论基础prim算法)
  16. 在c51语言中当while语句中条件,在C51语言中,当do-while语句中的条件为( )时,结束循环。...
  17. 视频点播/直播类网站
  18. c语言scanf_s函数详解,scanf_s()函数
  19. Wireshark的提示
  20. 货币兑换(指针与常量)

热门文章

  1. C语言用func函数编写程序,C语言程序设计教程第四章练习题解析(1)
  2. java grabcut,在OpenCV中应用GrabCut算法后获取相同的图像
  3. 如何防止被踢之人加群
  4. c语言竖着输出一段字母,c语言,横着输入,竖着输出,绝对有难度
  5. Spring框架中常用的设计模式详解
  6. 2012-2013百度搜索引擎优化大事记
  7. python调用C语言里面的函数
  8. 【机器学习PAI实战】—— 玩转人工智能之利用GAN自动生成二次元头像...
  9. 把百度设置为搜索引擎后总是跳转到百度首页的解决办法
  10. 六年级下册计算机电子板报教案,六年级下册信息技术教案11制作电子小报|浙江摄影版(新)...