如果需要暂停使用Activiti进程,可以通过调用Activiti的API来暂停和激活进程。
Activiti 6.x Javadocs网址: Activiti 6.x Javadocs
带flowableJavaDocs网址: flowableJavaDocs
在本文中,使用ID挂起和激活进程。 流程定义还可以根据Key完成挂起和激活,并根据实际需要选择调用哪种方法。
在RuntimeService和HistoryService中都可以执行流程实例的挂起和激活。 由于HistoryService有很多无用的数据,而且相应的查询操作需要很长时间,因此本文将使用RuntimeService来执行。
如果已挂起流程实例,则无法使用与以下节点对应的任务id继续该流程实例:
通过挂起某一特定的流程实例,可以终止当前的流程实例,而不影响到该流程定义的其他流程实例。
激活之后可以继续该流程实例,不会对后续任务造成影响。
//用流程实例ID表示流程实例voidsuspendprocessinstancebyid (stringprocessinstanceid ); //用流程实例ID表示流程实例voidactivateprocessinstancebyid (stringprocessinstanceid );
暂挂和激活流程定义
存储库服务允许您挂起和激活流定义。
如果流程定义被暂挂,则已经启动的流程定义的流程实例不受影响。 如果选择“暂挂级联”,则流程实例也会被暂挂。
当流程定义被挂起时,无法发起新的该流程定义的流程实例。
//进程定义ID中的进程定义voidsuspendprocessdefinitionbyid (stringprocessdefinitionid );//第二个参数是进程实例//第三个参数,由是否级联挂起此进程定义,其是挂起此进程的时间,null为、 voidsuspendprocessdefinitionbyid (stringprocessdefinitionid,booleansuspendproceid )//激活流程定义voidactivateprocessdesdd voidactivateprocessdefinitionbyid (stringprocessdefinitionid,booleanactivateprocessinstances,数据活动数据);