2014-06-18 111 views

回答

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(); 

    } 

} 

這是假設,即

  1. 等待流程實例的businessKey值爲someBusinessKey。業務密鑰可以在啓動流程實例時提供。
  2. 正在等待的進程實例有一個消息名稱爲someMessage的接收任務。接收任務的消息名稱可以使用<message ... />元素在BPMN 2.0 xml中指定。參見:http://docs.camunda.org/latest/api-references/bpmn20/#tasks-receive-task
+0

謝謝邁爾丹的幫助!雖然我有一個錯誤服務器「錯誤:無法實例化過程定義applicant_process:10:d09763fb-f6db-11e3-ad2a-8851fbcb5a9b:無法關聯消息someMessage:沒有流程定義或執行匹配參數」,請你向我解釋這是怎麼回事關於? –