如何为Camunda BPMN 2.0的Receive Task设置关联变量?
解决Camunda Modeler 4.12.0中Receive Task无法设置businessKey/CorrelationKey的问题
你用的这个版本(4.12.0对应Camunda Platform 7.15.0)里,Receive Task的消息关联参数确实没有在可视化面板做配置入口,得手动编辑BPMN XML来实现,步骤如下:
- 切换到Camunda Modeler的XML编辑模式(点击界面底部的「XML」标签)
- 找到你的Receive Task对应的XML节点,通常是
<receiveTask id="xxx" name="xxx" messageRef="Message_xxx">这样的结构 - 在标签内添加Camunda的扩展属性,具体分两种情况:
- 设置businessKey:直接添加
camunda:businessKey="你的业务键值",如果要使用流程变量,就用表达式,比如camunda:businessKey="${orderId}" - 设置CorrelationKey:添加
camunda:correlationKey="${你的关联变量}",这个属性支持UEL表达式,用来匹配流程实例的关联键
- 设置businessKey:直接添加
举个修改后的代码示例:
<receiveTask id="ReceiveTask_1" name="等待支付消息" messageRef="Message_PaymentReceived"> <extensionElements> <!-- 如果需要用流程变量作为关联键 --> <camunda:correlationKey="${orderNumber}" /> <!-- 如果直接指定业务键 --> <camunda:businessKey="ORDER_001" /> </extensionElements> </receiveTask>
注意:如果你的Receive Task已经有<extensionElements>标签,直接把属性加进去就行,不用重复创建。
修改完XML后切换回图形模式,保存模型就能正常使用消息关联功能了。
内容的提问来源于stack exchange,提问作者Robin
相关产品推荐
相关产品推荐

