Camunda:如何将变量从父进程传递到子进程。(由事件开始)

use*_*466 5 java bpmn camunda

我有一个通过事件创建子流程的流程。我想将一个变量从父进程传递给子进程。我发现的一种方法是使用:

MessageCorrelationResult result = runtimeService
    .createMessageCorrelation("newEvent")
    .setVariable(TOUR_ID, id)    //trigger instance where customer matches
    .correlateWithResult();
runtimeService.setVariable(result.getProcessInstance().getId(),"variableToSend", "val");
Run Code Online (Sandbox Code Playgroud)

但是,result.getProcessInstance()返回 null,这似乎是一个已知问题:https : //app.camunda.com/jira/browse/CAM-7772

您知道如何使用其他方法将变量从父进程传递到子进程吗?

在此处输入图片说明

小智 6

如果将子流程称为调用活动任务,则可以设置变量映射。

在映射中 -> 全部

出映射 -> 全部

在这种情况下,执行父流程时可用的所有变量都应在子流程中可用。

在此处输入图片说明