Conditional boundary event and rerouting back to previous step

Is the below bpmn model valid?

Conditional boundary event checks for process variable update, if the value is true then it will call service task.

Sure thing, no reason why this wouldn’t work.:slightly_smiling_face: :

1 Like

while starting process instance, i was starting with variables

{"variables":{"count":{"type":"Integer","value":"10" }}}

Later on when the token arrives to service task, the value of the variable count got updated as 10.

I have attached conditional boundary event to the service task with expression ${count==10} and event=“update”.

But the value of count is 10 when creating and updating the variable. Maybe in future, same value got updated in multiple executions.

  • So everytime update to that variable with same value will trigger the conditional event or trigger will be blocked for every update if the value is same?

  • Conditional boundary event in update event requires everytime different values or it will execute if it matches the expression regardless of value when update event occurs?

The conditional event will re-evaludate the condition while it is active every time the process instance variables are changed.
Unless you add a specific variable name, in which case any time that specific variable is changed it will evaluate the condition. If you choose an event as well when it will only evaluate the the condition when that variable has changed AND the specific event (update,create,delete) has occurred.

Thanks @Niall. Is my below understandings correct? Please correct me if i am wrong :slight_smile:

is this can be configured like below?

can be configured like below?

And other possibility was below:

Yup, exactly :slight_smile:

In conditional boundary event, is that possible to evaluate complex expressions with multiple fields?

Like below:

#{(isReset==true && messageSent==true) || (isTerminateOrder==false)}

That shouldn’t be a problem as long as the end result is a boolean.

1 Like