AnsweredAssumed Answered

Transition from FORK to JOIN

Question asked by pasharik on Oct 12, 2011
Hello guys, I'm trying to create workflow shown in figure:
[img]http://img827.imageshack.us/img827/9471/processfork.jpg[/img]
And also my source:
<?xml version="1.0" encoding="UTF-8"?>

<process-definition  xmlns=""  name="process_fork">

   <start-state name="start-state1">
      <task name="bpm:startTask">
         <assignment actor-id="admin"></assignment>
      </task>
      <transition to="fork1"></transition>
   </start-state>


   <fork name="fork1">
      <transition to="task-node2"></transition>
      <transition to="task-node1" name="to task-node1"></transition>
   </fork>

   <task-node name="task-node1">
      <task name="bpm:workflowTask">
         <assignment actor-id="admin"></assignment>
      </task>
      <transition to="join2"></transition>
   </task-node>

   <task-node name="task-node2">
      <task name="bpm:workflowTask">
         <assignment actor-id="it-director1"></assignment>
      </task>
      <transition to="fork2"></transition>
   </task-node>

   <task-node name="task-node3">
      <task name="bpm:workflowTask">
         <assignment actor-id="security1"></assignment>
      </task>
      <transition to="join1"></transition>
   </task-node>

   <task-node name="task-node4">
      <task name="bpm:workflowTask">
         <assignment actor-id="lawyer1"></assignment>
      </task>
      <transition to="join1"></transition>
   </task-node>

   <join name="join1">
      <transition to="end-state1"></transition>
   </join>

   <join name="join2">
      <transition to="task-node3"></transition>
   </join>

   <fork name="fork2">
      <transition to="task-node4"></transition>
      <transition to="join2" name="to join2"></transition>
   </fork>


   <end-state name="end-state1"></end-state>


</process-definition>
Workflow starts and exists normally, but I have problem with JOIN before task-node3. When task-node1 is completed, workflow goes directly to task-node3, and no waiting for task-node2. I found this bug only if there is a FORK before JOIN. If I have direct TRANSITION from task-node2 to task-node3, JOIN works correctly. But I need fork after task-node2. Any ideas?

Outcomes