AnsweredAssumed Answered

Parallel OR-join

Question asked by arykov on Sep 24, 2011
Latest reply on Sep 27, 2011 by arykov
What is the best way to implement OR-join of a previously split branches in activiti? Basically let the first branch to finish win.
I tried the following simplistic process to do this, but it never reaches finished state. I was trying it with 5.7


                         —(Receive Task1)—
(Start)—(+Gateway)-|                         |-(x Gateway)—(Finish)
                         —(Receive Task2)—
<process id="MyProcess" name="MyProcess">
    <documentation>Place documentation for the 'MyProcess' process here.</documentation>
    <startEvent id="startevent1" name="Start"></startEvent>
    <receiveTask id="receivetask1" name="Receive Task"></receiveTask>
    <receiveTask id="receivetask2" name="Receive Task"></receiveTask>
    <endEvent id="endevent1" name="End"></endEvent>
    <exclusiveGateway id="exclusivegateway1" name="Exclusive Gateway"></exclusiveGateway>
    <sequenceFlow id="flow8" name="" sourceRef="receivetask1" targetRef="exclusivegateway1"></sequenceFlow>
    <sequenceFlow id="flow9" name="" sourceRef="receivetask2" targetRef="exclusivegateway1"></sequenceFlow>
    <sequenceFlow id="flow10" name="" sourceRef="exclusivegateway1" targetRef="endevent1"></sequenceFlow>
    <parallelGateway id="parallelgateway1" name="Parallel Gateway"></parallelGateway>
    <sequenceFlow id="flow11" name="" sourceRef="startevent1" targetRef="parallelgateway1"></sequenceFlow>
    <sequenceFlow id="flow12" name="" sourceRef="parallelgateway1" targetRef="receivetask2"></sequenceFlow>
    <sequenceFlow id="flow13" name="" sourceRef="parallelgateway1" targetRef="receivetask1"></sequenceFlow>
  </process>

Outcomes