我是Camunda BPMN 2.0的新手,我需要有关如何实现和使用从一个池到另一个池的发送和接收任务的帮助。
答案 0 :(得分:5)
将JavaDelegate实现附加到发送任务:
<sendTask id="sendTask" camunda:class="org.camunda.bpm.MySendTaskDelegate" />
在MySendTaskDelegate
内,将消息与另一个流程实例中的接收任务相关联:
public class MySendTaskDelegate implements JavaDelegate {
public void execute(DelegateExecution execution) throws Exception {
execution.getProcessEngineServices()
.getRuntimeService()
.createMessageCorrelation("someMessage")
.processInstanceBusinessKey("someBusinessKey")
.correlate();
}
}
这假定,
someBusinessKey
。启动流程实例时可以提供业务密钥。someMessage
的接收任务。可以使用<message ... />
元素在BPMN 2.0 xml中指定接收任务的消息名称。请参阅:http://docs.camunda.org/latest/api-references/bpmn20/#tasks-receive-task