一个流程定义 可以对应多个 流程实例,首先要明白两者之间的关系
类似于:Java中的一个Class可以new出多个对象
流程定义的挂起、启动
挂起:repositoryService.suspendProcessDefinitionByKey("流程定义ID");
挂起后,就不可以再开启一个流程实例了,也就是 runtimeService.startProcessInstanceByKey("流程定义ID");会抛出异常
流程定义的挂起,不影响已经启动的流程实例继续
启动:repositoryService.activateProcessDefinitionXXX
流程实例的挂起、启动
挂起:runtimeService.suspendProcessInstance(流程实例ID)
挂起后,该流程实例就不可以再继续往下走了,也就是taskService.complete(task.getId(), map)会抛异常
启动:runtimeService.activateProcessInstanceXXX