可以将流程实例暂挂,接着可以将其恢复以使其能够完成。
开始之前
调用者必须是流程实例管理员或业务流程管理员。要暂挂流程实例,它必须处于“正在运行”状态或“正在失败”状态。
执行本任务的原因和时间
可以将处于“正在运行”状态的顶级长期流程实例暂挂。例如,通过执行此操作,可以配置对该流程稍后要使用的后端系统的访问。满足该流程的先决条件后,可以恢复该流程实例。
本任务的步骤
- 获取处于“正在运行”状态并且要暂挂的流程 CustomerOrder。
ProcessInstanceData processInstance =
process.getProcessInstance("CustomerOrder");
- 暂挂该流程实例。
PIID piid = processInstance.getID();
process.suspend( piid );
此操作暂挂指定的顶级流程实例。该流程实例将进入“已暂挂”状态。将 autonomy 属性设置为 child 的子流程如果处于“正在运行”、“正在失败”、“正在终止”或“正在补偿”状态,则它们也将被暂挂。
- 恢复该流程实例。
process.resume( piid );
此操作使该流程实例及其子流程进入它们被暂挂前所处的状态。