Skip to content

startProcessInstanceById

Flowable 7.1.0 摘要:在使用给定ID的过程定义的精确指定版本中启动一个新的流程实例。

方法签名与说明

ProcessInstance startProcessInstanceById ( String processDefinitionId)

在使用给定ID的过程定义的精确指定版本中启动一个新的流程实例。 Parameters:

  • ProcessDefinitionID-过程定义的ID不能为null。

Throws:

  • FlowableObjectNotFoundException-当没有使用给定键部署过程定义时。

ProcessInstance startProcessInstanceById ( String processDefinitionId, String businessKey)

在使用给定ID的过程定义的精确指定版本中启动一个新的流程实例。可以提供业务密钥,以将流程实例与具有明确业务含义的特定标识符相关联。例如,在订单过程中,业务密钥可能是订单 ID。然后可以使用此业务密钥来轻松查找该过程实例,请参阅ProcessInstanceQuery.ProcessInstanceBusinessKey(String)。提供这样的业务密钥绝对是 最佳实践。 Parameters:

  • ProcessDefinitionID-过程定义的ID不能为null。
  • BusinessKey-识别流程实例的密钥,可用于以后通过查询API检索过程实例。

Throws:

  • FlowableObjectNotFoundException-当没有使用给定键部署过程定义时。

ProcessInstance startProcessInstanceById ( String processDefinitionId, Map < String , Object > variables)

在使用给定ID的过程定义的精确指定版本中启动一个新的流程实例。 Parameters:

  • ProcessDefinitionID-过程定义的ID不能为null。
  • 变量 - 要通过的变量可以为null

Throws:

  • FlowableObjectNotFoundException-当没有使用给定键部署过程定义时。

ProcessInstance startProcessInstanceById ( String processDefinitionId, String businessKey, Map < String , Object > variables)

在使用给定ID的过程定义的精确指定版本中启动一个新的流程实例。可以提供业务密钥,以将流程实例与具有明确业务含义的特定标识符相关联。例如,在订单过程中,业务密钥可能是订单 ID。然后可以使用此业务密钥来轻松查找该过程实例,请参阅ProcessInstanceQuery.ProcessInstanceBusinessKey(String)。提供这样的业务密钥绝对是 最佳实践。 Parameters:

  • ProcessDefinitionID-过程定义的ID不能为null。
  • 变量 - 要通过的变量可以为null

Throws:

  • FlowableObjectNotFoundException-当没有使用给定键部署过程定义时。

常见使用场景

  • 创建新的流程实例,驱动业务工单生命周期。
  • 结合业务键、租户信息构建多租场景。
  • 官方摘要:在使用给定ID的过程定义的精确指定版本中启动一个新的流程实例。

Kotlin 调用示例

kotlin
val processDefinitionId = "PROCESSDEFINITIONID"

runtimeService.startProcessInstanceById(processDefinitionId)

注意事项

  • 启动流程前确认模型已部署且可用。
  • 建议传入业务键,方便后续查询定位。
  • 调用前请确认当前用户具备相应的任务/流程操作权限。
  • 本文基于 Flowable 7.1.0 Javadoc。

相关 API

  • startProcessInstanceByKey
  • startProcessInstanceById
  • startProcessInstanceByMessage