I observed a behavior of the process engine (using Camunda 7.10) that surprised me and my teammates and I’d like to understand the reason for this.
Consider this fantastic process model with an active instance waiting for the user task to be performed:
We intended to set a process variable only if a task is completed.
So we added an outputParameter
(docs) to it like this: starsAndLollipops: true
If the task gets interrupted by sending the boring message to the boundary message event, the variable starsAndLollipops
is set to true
anyway. We all expected the output parameter would not be applied in this case.
In order to follow this condition I changed the expression to ${execution.isCanceled() ? true : false}
- Does
execution.isCanceled
provide the correct condition for our scenario? - What’s the reasoning for this behavior?
- I’m sure this is part of the documentation but just to better handle it next time, where can I find it?
Thanks a lot
Daniel
out-par-test.bpmn (4.1 KB)