TL; DR :
- The default transition is the last condition in the transition ordering
- I added a “display description” in the exclusive gateway, which shows that the input is really “REJETEE”, so the transition condition should have been triggered
- This behavior is not constant : most of the time the condition works fine, but 1/10 to 1/3 of the times it behaves differently
Hello,
I have a strange behaviour from my transitions in Bonita 7.0.1.
Here is an exemple of a transition that doesn’t always behaves as we would expect :
I tested this sequence flow several times with the exact same input : statut == REJETEE, and sometimes (like 1/4 or 1/10 chance) the corresponding transition won’t be triggered and this is the default one that will be selected (so I will have the “task 3” selected instead of ending the flow).
The “task 2” has a connector out that is sucessfully called no matter what the selected transition is :
The “task 2” updates my business vars with its operations :
I have put a display description on the exclusive gateway to see what the business var contains :
return "Statut de la prestation après E2 : " + prestation.getStatut();
I have a test where the default transition was selected instead of the “statut == REJECTED” (the task 3 is available in my task list).
In this test, the display description in the bonita administrator view → BPM → cases → cases details shows that the contition “statut == REJETEE” should have been triggered instead of the default one:
Here is the “statut == REJETEE” transition :
The expression for the condition is a groovy script returning a boolean :
Here is the default transition :
The “statut == PERCUEE” transition doesn’t seem to be called (and it shouldn’t be, so no problem here)
Here is the transition ordering:
Do you know why the “task 3” can be triggered even if the condition “statut == REJETEE” should have been called instead, while the gateway description shows that the status is really “REJETEE” ?
Then again, this behavior is not constant, most of the time the correct transition is selected, but not always. And I don’t know what can cause this.