我正在使用附加了以下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:没有流程定义或执行与参数匹配
我该如何调试?
答案 0 :(得分:6)
错误消息显示,您的JavaDelegate代码只是正确执行。流程引擎尝试使用' someBusinessKey'来查找正在运行的流程实例。作为业务密钥,当前正在等待消息' someMessage',但没有找到这样的实例。您的代码就好像有这样的实例,并且您尝试找到它并告诉它有关消息的信息。请参阅有关correlation methods的文档部分 - 原则上该机制用于“路由”#39;指向正确实例的消息。
作为旁注:您的JavaDelegate似乎在您尝试完成任务的同一事务中被调用。交易的边界"在您的流程中,您可以使用' async'文档部分中描述的关于transactions in processes。
的属性