Reputation: 14803
I want to include a decision table in my process.
As the input is a list of elements, I want to call it for each element in parallel.
When I look at the output it only includes one entry. So it seems that each execution overrides the previous one.
Example: [{pricePerProcessInstance=150.0, pricePerTask=0.0}]
I suspect I do something wrong in the definition.
Here is the definition for it:
Upvotes: 1
Views: 1840
Reputation: 36
I believe that the Execution Listener (1) should solve your problem.
You could configure an end execution listener as depicted here
Please take a look at the example implementation of class defined in the listener section above.
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);
}
}
In every execution of the decision table the result variable processPrices
will be added to the ArrayList
resultList
.
(1) https://docs.camunda.org/manual/latest/user-guide/process-engine/delegation-code/#execution-listener
Upvotes: 2