Skip to content

activateProcessDefinitionById

Flowable 7.1.0 摘要:根据流程定义ID激活被挂起的流程定义。

方法签名与说明

void activateProcessDefinitionById(String processDefinitionId)

激活指定ID的流程定义。

Parameters:

  • processDefinitionId - 流程定义ID

Throws:

  • FlowableObjectNotFoundException - 当流程定义不存在时

void activateProcessDefinitionById(String processDefinitionId, boolean activateProcessInstances, Date activationDate)

激活流程定义,可选择是否同时激活流程实例,并可指定激活时间。

Parameters:

  • processDefinitionId - 流程定义ID
  • activateProcessInstances - 是否同时激活流程实例
  • activationDate - 激活生效时间

常见使用场景

1. 精确版本控制

激活特定版本的流程定义。

2. 维护后恢复

流程维护完成后,激活特定版本的流程。

Kotlin + Spring Boot 调用示例

kotlin
import org.flowable.engine.RepositoryService
import org.springframework.stereotype.Service

@Service
class ProcessVersionActivationService(
    private val repositoryService: RepositoryService
) {
    
    /**
     * 激活特定版本的流程
     * 企业场景:修复完成后,精确激活某个版本
     */
    fun activateSpecificVersion(processDefinitionId: String) {
        val pd = repositoryService.getProcessDefinition(processDefinitionId)
        
        println("激活流程: ${pd.name} V${pd.version}")
        
        repositoryService.activateProcessDefinitionById(
            processDefinitionId,
            true, // 同时激活所有实例
            null  // 立即生效
        )
        
        println("激活成功")
    }
}

相关 API

  • RepositoryService.activateProcessDefinitionById() - 按ID激活
  • RepositoryService.activateProcessDefinitionByKey() - 按Key激活
  • RepositoryService.suspendProcessDefinitionById() - 按ID挂起

本文档说明

  • 基于 Flowable 7.1.0 版本编写
  • 所有示例均可直接在 Spring Boot + Kotlin 项目中使用