Hi all,
I am using Camunda through REST API. I have a problem with Timer event configured after an event based gateway.
Below is the xml snippet of the process definition showing the flow of eventbasedgateway.
<bpmn:sequenceFlow id="SequenceFlow_1a2x17h" sourceRef="send_forgot_pwd_email_ext" targetRef="ExclusiveGateway_168qxkl" />
<bpmn:eventBasedGateway id="ExclusiveGateway_168qxkl">
<bpmn:incoming>SequenceFlow_1a2x17h</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_0gdd4s9</bpmn:outgoing>
<bpmn:outgoing>SequenceFlow_0fnnqea</bpmn:outgoing>
</bpmn:eventBasedGateway>
<bpmn:intermediateCatchEvent id="pwd_changed_ime" name="Password Changed">
<bpmn:incoming>SequenceFlow_0gdd4s9</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_1rts8h3</bpmn:outgoing>
<bpmn:messageEventDefinition messageRef="Message_1tc2fse" />
</bpmn:intermediateCatchEvent>
<bpmn:sequenceFlow id="SequenceFlow_0gdd4s9" name="Forgot Pwd Clicked" sourceRef="ExclusiveGateway_168qxkl" targetRef="pwd_changed_ime" />
<bpmn:intermediateCatchEvent id="forgot_pwd_req_expd_ite" name="Forgot Pwd Req Expired">
<bpmn:incoming>SequenceFlow_0fnnqea</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_01u0884</bpmn:outgoing>
<bpmn:timerEventDefinition>
<bpmn:timeDuration xsi:type="bpmn:tFormalExpression">PT3H</bpmn:timeDuration>
</bpmn:timerEventDefinition>
</bpmn:intermediateCatchEvent>
The eventbasedgateway has 2 outgoing flows. 1. IntermediatecatchEvent as message event and 2. IntermediateCatchEvent as timerevent.
The flow works perfectly fine when the messageevent is fired. But does not work even after the time expires.
Upon investigating from my side, i could see the job getting created for the timer event, but not getting executed even after the duedate is expired. I checked the logs, i could not find any errors. I tried testing the timer with just a simple start and stop event, which is working fine.
Would like to understand the reason why the timer is not getting executed when placed after an event based gateway and how to resolve this issue.
Thanks in advance,
Bala.