如何将变量从子流程传递到包含它的流程? (jbpm)

How to pass variables from a sub-process into the process that contains it? (jbpm)

如果我有一个定义了三个子流程的流程,其中一个子流程链接到 XOR 网关,另外两个子流程有条件地链接到 XOR,我如何才能使变量可用在从 XOR 网关出现的序列流中的第一个子流程中的条件表达式?

我一直在 KIE 中玩弄 Workbench 并发现,在更大流程的上下文中查看第一个子流程属性时,有一个输出变量,我们已将其映射到我们在子流程中定义了一些属性的模型。

所以我想知道: - 我们在模型中从子流程中定义的变量是否仍然以我们定义的输出变量的形式在子流程之外可用? - 如果不是,全局变量是解决这个问题的可行方法吗?

我最近做到了。

我们在我们从用户任务传递到子流程范围的用户任务之一中生成了一个模型变量。然后当我们在父流程视图中时,我们在子流程任务上定义了一个输出,并将其映射到父流程级别变量。

我遗漏的步骤以及导致异常的原因是我创建了一个父流程级别变量,但我没有将子流程任务输出映射到父流程变量。

如果您将子流程的输出变量映射到父流程中的变量,变量的数据将保留在父流程范围内。它在文档中:http://docs.jboss.org/jbpm/v6.1/userguide/jBPMBPMN2.html#d0e2961