在camunda BPMN中使用发送和接收任务

时间:2015-10-13 12:29:23

标签: camunda

我正在使用附加了以下Javadelegate类的发送任务。

public class SendTaskDelegate implements JavaDelegate {

  public void execute(DelegateExecution execution) throws Exception {

execution.getProcessEngineServices()
  .getRuntimeService()
  .createMessageCorrelation("someMessage")
  .processInstanceBusinessKey("someBusinessKey")
  .correlate();

  }

}

但我收到此错误::

  

提交任务表单时发生错误:无法提交任务表单c0e85bad-719f-11e5-94aa-d897baecf24a:无法关联消息someMessage:没有流程定义或执行与参数匹配

我该如何调试?

1 个答案:

答案 0 :(得分:6)

错误消息显示,您的JavaDelegate代码只是正确执行。流程引擎尝试使用' someBusinessKey'来查找正在运行的流程实例。作为业务密钥,当前正在等待消息' someMessage',但没有找到这样的实例。您的代码就好像有这样的实例,并且您尝试找到它并告诉它有关消息的信息。请参阅有关correlation methods的文档部分 - 原则上该机制用于“路由”#39;指向正确实例的消息。

作为旁注:您的JavaDelegate似乎在您尝试完成任务的同一事务中被调用。交易的边界"在您的流程中,您可以使用' async'文档部分中描述的关于transactions in processes

的属性