返回
挂起与激活,Flowable流程实例的另一种生命状态
后端
2023-09-27 18:07:29
Flowable流程引擎是一个功能强大的开源工作流平台,它允许用户轻松地创建和管理业务流程。在Flowable流程引擎中,流程实例的生命周期可以分为五种状态:
- 未启动: 流程定义已创建,但尚未启动任何流程实例。
- 运行中: 流程实例已启动,但尚未完成。
- 已完成: 流程实例已完成所有活动,并且没有挂起。
- 挂起: 流程实例已暂停,不能继续执行。
- 终止: 流程实例已终止,无法再继续执行。
流程实例的挂起和激活
在某些情况下,您可能需要暂停正在运行的流程实例。例如,当您需要等待外部事件发生时,或者当您需要对流程实例进行故障排除时,就可以将流程实例挂起。要挂起流程实例,您可以使用Flowable流程引擎提供的suspend
方法。
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
.processInstanceId(processInstanceId)
.singleResult();
runtimeService.suspendProcessInstanceById(processInstanceId);
当流程实例被挂起后,它将进入挂起状态。在挂起状态下,流程实例不能继续执行。要激活挂起的流程实例,您可以使用Flowable流程引擎提供的activate
方法。
runtimeService.activateProcessInstanceById(processInstanceId);
当流程实例被激活后,它将继续执行。
流程定义的挂起和激活
除了流程实例,Flowable流程引擎还允许您挂起和激活流程定义。要挂起流程定义,您可以使用Flowable流程引擎提供的suspendProcessDefinitionById
方法。
repositoryService.suspendProcessDefinitionById(processDefinitionId);
当流程定义被挂起后,将无法据此创建新的流程实例。要激活挂起的流程定义,您可以使用Flowable流程引擎提供的activateProcessDefinitionById
方法。
repositoryService.activateProcessDefinitionById(processDefinitionId);
当流程定义被激活后,将可以据此创建新的流程实例。
结语
在本文中,我们深入解析了Flowable流程实例的挂起与激活。我们了解到,流程实例和流程定义都可以被挂起和激活。我们还了解到,挂起的流程实例不能继续执行,而挂起的流程定义无法据此创建新的流程实例。