java可流动多实例调用活动输出参数
在我的BPMN模型(流动引擎)中有以下定义:
<callActivity id="111-example-111" name="CALLING_SUBPROCESS_MULTIINSTANCE" calledElement="SOME_SUBPROCESS" flowable:calledElementType="key" flowable:fallbackToDefaultTenant="false">
<extensionElement>
<flowable:in source="INPUT_VAR" target="SUB_INPUT_VAR"></flowable:in>
<flowable:out source="SUB_OUTPUT_VAR" target="OUTPUT_VAR"></flowable:out>
</extensionElement>
<multiInstanceLoopCharacteristics isSequential="true" flowable:collection="SOME_COLLECTION" flowable:elementVariable="SOME_ELEMENT"></multiInstanceLoopCharacteristics>
调用活动已正确处理,但我无法将输出变量SUB_OUTPUT_VAR
传递给父进程。我尝试了其他一些语法,比如:
<flowable:out source="SUB_OUTPUT_VAR" target="OUTPUT_VAR_${loopCounter}"></flowable:out>
因为每个循环都可以产生SUB_OUTPUT_VAR
,我想把它们全部传递给父进程。但这没用
有没有办法使用可流动的BPMN引擎
# 1 楼答案
从多实例收集变量是Flowable(以及其他类似引擎)中存在的一个问题
你提出的解决方案
然而,在即将发布的6.7.0版本中。会有更好的解决方案。您将能够使用变量聚合
例如
您可以将输出定义为
然后在
multiInstanceLoopCharacteristics
中可以定义如下:执行此操作将创建具有以下结构的JSON数组结果: