此版本为旧的版本,建议参看新的版本6.4.0

前期项目要求实现流程回退(仅要求回退到上一节点),所使用的flowable版本是6.2.0-SANPSHOT。在网上收到的流程回退的例子都是activity的,然而activity的很多接口在flowable中都已经取消了。​这2篇文章,感谢。下面记录了一下我的大致实现。

flowable实现流程回退功能_Flowable


flowable实现流程回退功能_调用方法_02


2、通过flowable的org.flowable.engine.ManagementService,调用自己写的Command,实现回退。

manageMentService.executeCommand(new JumpCmd(flowElement,currentTask,hisTaskEntity));

//第一个参数flowElement是需要跳转到的节点信息,这里因为要求的是回退到上一节点,所以这里只上一节点信息

//第二个参数是值当前任务实体

//第三个参数指需要跳转到的节点的任务实体,这里指上一节点的任务实体

说明:对于无分支的流程,需要回退到上一节点,可以直接利用flowable现有的API,调用方法如下:

runtimeService.createChangeActivityStateBuilder().processInstanceId(processInstanceId).cancelActivityId(currentNode).startActivityId(beforeNode).changeState();