刚开始接触Activiti是17年下半年,项目组要重新升级移动的一个需求管理平台。最开始就是自己看学习文档,到后来有同事手把手的教,自己依葫芦画瓢的编辑了自己的第一个流程。
今天遇到一个问题,关于Activiti的会签环节与聚合的,所以就记录了下来。
事情的起因如下:
当流程31环节和12环节合并之后,走到13环节。在测试13环节的ABC分支时,发现在测试分支A和分支B,提交成功之后,后台不生成工单,对比了代码什么的,都没有问题。最后咨询了之前做流程的同事,经过他的提醒,才发现问题。
分支B的原因:这个流程图是在原有的基础上添加新的分支,导致新增的14环境,没有添加监听。
每个环境都需要添加这样的监听,这样才能继续往下流转。
此时,我以为问题全部解决。但是在测试分支A的时候,发现从11流转到12后,集成商测试提交成功后,又没有工单生成了。而且检查所有环节配置,都没有问题,我又纳闷了。。。
再次咨询同事,然后才知道原因。
原因如下:
当环节11、12、31第一次聚合的时候,没有问题,但是从13-11-12 这个环节重新流转的时候,因为12环节是个会签环节,此时的Activiti会自动的等待31环节,但是31环节已经流转过了。这样就导致了一个死循环,所以没有订单生成。经过同事的指点,将流程图修改一下就可以了。
如图,就是在12环节流转的时候添加一条分支,B表示等待31环节聚合。如果31已经流转,则可以直接选择A分支流转到32环节。
切记:当两条分支聚合的时候,其中一个环节为会签环节,记得一定要在会签环节下添加拍他网关才能聚合,否则会处所的。