-
Type:
Bug Report
-
Resolution: Unresolved
-
Priority:
L3 - Default
-
None
-
Affects Version/s: 7.1.0
-
Component/s: engine
-
None
When invoking a delegate multiple times in different tasks of a process, the delegateExecution will return values from preceding calls, despite that the field has not been set.
In example:
public class DemoDelegate implements JavaDelegate { // set in first task Expression firstField; // set in a different task Expression secondField; public void execute(DelegateExecution execution) { String firstString = (String) firstField.getValue(execution); String secondString = (String) secondField.getValue(execution); if (secondString != null) { assert(firstString == null); } } }
The first task sets the firstField, while second task does not have a <camunda:field> tag for it. Still, during any following tasks of the same process, the field will return the value from the first invocation.