分支退回如何实现?

eshore 2012-04-06
比方说,流程定义是

start->1->2->fork->(3,4,5)->join->6->end

1到6都是task,3,4,5是并发的

假设3退回节点2,task4,task5要跟着自动退回,等待节点2修改完再次提交后到join节点。应该实现退回时节点4,节点5的处理?

分支并行时3,4,5分别是3个独立的execution,单单调用api删除task应该不可行,查看过4.4不是很新版本的源码,删除task时没处理其他表。

个人胡思乱想出来方案:

1.调用api,删除task,execution也是api终止掉。
2.动态创建个join节点,task3动态创建Transaction到join节点,自动提交,再从join节点提交到节点2。(模拟正常join,起码这个分支数据应该是正常终止,并且能激活主流程execution)
3.删除动态创建流转的历史数据。

感觉很冗余,而且只是个思路,不确定删除task,终止execution,分支数据就正常了。

求可行的方案或者指导,一起讨论下
Global site tag (gtag.js) - Google Analytics