Hi there,
within a BPMN task element one can execute an expression. When the expression is changed on a newer version within the BPMN, the Camunda 7 adapter may pick the wrong the expression (Camunda7TaskHandler) to execute. This is due to how the expression resolver (ProcessEntityELResolver) tries to find the correct expression. In case of the same process definition key and the same BPMN element ID different expressions conflict in their definition (Camunda7Connectable). Since the list of tasks is created on every launch, the order of the expressions may change and the chosen expression is therefore non-deterministic. I guess for choosing the right expression the process definition version needs to be taken into account as well.
|
final var result = taskHandlers |
Hi there,
within a BPMN task element one can execute an expression. When the expression is changed on a newer version within the BPMN, the Camunda 7 adapter may pick the wrong the expression (Camunda7TaskHandler) to execute. This is due to how the expression resolver (ProcessEntityELResolver) tries to find the correct expression. In case of the same process definition key and the same BPMN element ID different expressions conflict in their definition (Camunda7Connectable). Since the list of tasks is created on every launch, the order of the expressions may change and the chosen expression is therefore non-deterministic. I guess for choosing the right expression the process definition version needs to be taken into account as well.
vanillabp-camunda7-adapter/spring-boot/src/main/java/io/vanillabp/camunda7/wiring/ProcessEntityELResolver.java
Line 79 in a16993b