如果我有一个定义三个子流程的流程,其中一个子流程链接到 XOR 网关,另外两个子流程有条件地链接到 XOR,我怎样才能使第一个子流程中的变量可用于从 XOR 网关出现的序列流中的条件表达式?
我一直在 KIE Workbench 中玩弄,发现在更大流程的上下文中查看第一个子流程属性时,有一个输出变量,我们已将其映射到一个模型,我们从子流程中定义了该模型的一些属性。
所以我想知道:- 我们在子流程内定义的变量是否仍应以我们定义的输出变量的形式在子流程之外可用?- 如果不是,全局是解决这个问题的可行解决方案吗?
我最近设法做到了这一点。
我们在其中一个用户任务中生成了一个模型变量,我们将其从用户任务传递到子流程范围。然后,当我们在父流程视图中时,我们在子流程任务上定义了一个输出,并将其映射到父流程级别变量。
我缺少的步骤以及导致异常的原因是我创建了一个父流程级别变量,但我没有将子流程任务输出映射到父流程变量。
我将子流程的输出变量映射到父流程中的变量,变量的数据将保留在父进程范围内。它在文档中: http://docs.jboss.org/jbpm/v6.1/userguide/jBPMBPMN2.html#d0e2961