首页 > 解决方案 > Camunda:如何将变量从父进程传递到子进程。(由事件开始)

问题描述

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

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

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

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

在此处输入图像描述

标签: javabpmncamunda

解决方案


如果你调用一个子流程调用活动任务,你可以设置一个变量映射。

在映射 -> 全部

输出映射 -> 全部

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

在此处输入图像描述


推荐阅读