Appearance
startProcessInstanceByMessage
Flowable 7.1.0 摘要:向处理引擎发出消息,表明已接收消息并启动新的ProcessIntance。
方法签名与说明
ProcessInstance startProcessInstanceByMessage ( String messageName)
向处理引擎发出消息,表明已接收消息并启动新的ProcessIntance。调用此方法可以具有两个不同的结果:如果消息名称与消息开始事件关联,则启动了一个新的进程实例。如果没有给定名称的消息订阅,则会抛出Flowable Exception Parameters:
- MessageName-在BPMN20 <message name =“ Messagename” />元素上指定为属性的消息的“名称”。
Returns:
- 代表启动过程实例的ProcessInstance对象
Throws:
- Flowable Exception-如果没有给定名称的消息订阅
Since:
- 5.9
ProcessInstance startProcessInstanceByMessage ( String messageName, String businessKey)
向处理引擎发出消息,表明已接收消息并启动新的ProcessIntance。请参阅StartProcessInstanceByMessage(String,Map)。此方法允许指定业务密钥。 Parameters:
- MessageName-在BPMN20 <message name =“ Messagename” />元素上指定为属性的消息的“名称”。
- BusinessKey-添加到启动过程实例中的业务密钥
Throws:
- Flowable Exception-如果没有给定名称的消息订阅
Since:
- 5.10
ProcessInstance startProcessInstanceByMessage ( String messageName, Map < String , Object > processVariables)
向处理引擎发出消息,表明已接收消息并启动新的ProcessIntance。请参阅StartProcessInstanceByMessage(String)。此外,此方法允许将消息的有效载荷指定为过程变量的地图。 Parameters:
- MessageName-在BPMN20 <message name =“ Messagename” />元素上指定为属性的消息的“名称”。
- processVariables-消息的“有效载荷”。将变量作为过程变量添加到启动过程实例中。
Returns:
- 代表启动过程实例的ProcessInstance对象
Throws:
- Flowable Exception-如果没有给定名称的消息订阅
Since:
- 5.9
ProcessInstance startProcessInstanceByMessage ( String messageName, String businessKey, Map < String , Object > processVariables)
向处理引擎发出消息,表明已接收消息并启动新的ProcessIntance。请参阅StartProcessInstanceByMessage(String,Map)。此外,此方法允许指定业务密钥。 Parameters:
- MessageName-在BPMN20 <message name =“ Messagename” />元素上指定为属性的消息的“名称”。
- BusinessKey-添加到启动过程实例中的业务密钥
- processVariables-消息的“有效载荷”。将变量作为过程变量添加到启动过程实例中。
Returns:
- 代表启动过程实例的ProcessInstance对象
Throws:
- Flowable Exception-如果没有给定名称的消息订阅
Since:
- 5.9
常见使用场景
- 创建新的流程实例,驱动业务工单生命周期。
- 结合业务键、租户信息构建多租场景。
- 官方摘要:向处理引擎发出消息,表明已接收消息并启动新的ProcessIntance。
Kotlin 调用示例
kotlin
val messageName = "MESSAGENAME"
runtimeService.startProcessInstanceByMessage(messageName)注意事项
- 启动流程前确认模型已部署且可用。
- 建议传入业务键,方便后续查询定位。
- 调用前请确认当前用户具备相应的任务/流程操作权限。
- 本文基于 Flowable 7.1.0 Javadoc。
相关 API
- startProcessInstanceByKey
- startProcessInstanceById
- startProcessInstanceByMessage