工作流并行节点问题处理记录

young 709 2022-08-01

问题:

当并行网关中的节点处理了一部分数据后,直接进行节点跳转,再次回到并行网关中时,会生成下一节点数据和当前节点数据

查找原因:

并行网关处理类:ParallelGatewayActivityBehavior

处理大概流程:

1、生成并行节点时会在ACT_RU_EXECUTION表中生成对应的记录,并且**IS_ACTIVE_**字段为1(1表示可见,0表示不可见即已处理)

2、当任务处理后,会将该字段的值改为0,但是不删除

3、ParallelGatewayActivityBehavior中会查询IS_ACTIVE_为0的字段数量,并且查询 Join GatewayIncomingFlows数量,并做比较,如果数量相同,则删除相关数据,跳转至下一节点,

如果数量不同则结束当前处理,并保留表中数据。

解决方案,当从并行网关中的节点直接跳转走时,删除ACT_RU_EXECUTION表中当前流程实例IS_ACTIVE_字段值为0的数据即可