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

pal*_*avi 5 camunda

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

public class SendTaskDelegate implements JavaDelegate {

  public void execute(DelegateExecution execution) throws Exception {

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

  }

}
Run Code Online (Sandbox Code Playgroud)

但我收到此错误::

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

我该怎么调试呢?

Mar*_*mak 6

错误消息说,您的JavaDelegate代码只是正确执行.流程引擎尝试查找正在运行的流程实例,其中"someBusinessKey"作为业务密钥并且当前正在等待消息"someMessage",但是找不到这样的实例.您的代码就好像有这样的实例,并且您尝试找到它并告诉它有关消息的信息.请参阅有关关联方法的文档部分- 原则上,该机制用于将邮件"路由"到以其为目标的正确实例.

作为旁注:您的JavaDelegate似乎在您尝试完成任务的同一事务中被调用.您可以使用文档部分中描述的关于流程中的事务的 "异步"属性来管理流程中的"事务边界" .