1

我想在我的流程中包含一个决策表。

由于输入是元素列表,我想为每个元素并行调用它。

当我查看输出时,它只包含一个条目。所以似乎每次执行都会覆盖前一次。例子:[{pricePerProcessInstance=150.0, pricePerTask=0.0}]

我怀疑我在定义中做错了什么。

这是它的定义:

dmn定义

4

1 回答 1

2

我相信执行侦听器(1)应该可以解决您的问题。

您可以配置一个结束执行侦听器,如此处所述

请看一下上面监听器部分中定义的类的示例实现。

public class MyService implements JavaDelegate {

  @Override
  public void execute(DelegateExecution delegateExecution) {
    List<String> resultList = (List<String>) delegateExecution.getVariable("resultList");

    if (resultList == null) {
      resultList = new ArrayList<>();
    }

    resultList.add((String) delegateExecution.getVariable("processPrices"));

    delegateExecution.setVariable("resultList", resultList);

  }

}

在决策表的每次执行中,结果变量processPrices将被添加到ArrayList resultList.

(1) https://docs.camunda.org/manual/latest/user-guide/process-engine/delegation-code/#execution-listener

于 2019-10-18T14:10:24.733 回答