[jboss-user] [JBoss jBPM] - Fork --> Join issues

QPool.Char do-not-reply at jboss.com
Mon Feb 25 12:52:56 EST 2008


I have a small problem here:

Processdefinition contains a situation, where a fork has 3 child-taskNodes and just 2 of them will join again:

TaskNode A -------> Fork

Fork --------> TaskNode B
Fork --------> TaskNode C1
Fork --------> TaskNode C2

TaskNode B ---------> EndState

TaskNode C1 ---------> Join
TaskNode C2 ---------> Join

Join ---------> TaskNode D


Now, when executing this path after the fork, the following procedures WORK:

B .signal()               
C1 .signal()             
C2. signal()             

or

C1.signal()
B.signal()
C2.signal()

So as long as B has ended before C1 and C2, everything seems to be ok.

But if C1 and C2 end before B, then the only open task is Task B. But Task D, which should occur after the JOIN, is missing.

I check all taskInstances of one certain processInstance with 
TaskMgmtInstance taskMgmt = processInstance.getTaskMgmtInstance();
  | Collection<TaskInstance> allTaskInstances = taskMgmt.getTaskInstances();

Searching the forum results in some posts that say:
- a JOIN is always coupled with a FORK in some way (i guess its the nearest fork then)
- a JOIN expects exactly the number of incoming tokens that the fork created

Is this right? But this behaviour wouldn't explain why it works with ended B, but not otherwise...

Is there any workaround?

Btw @Kukeltje: I searched in the CVS for unit-tests, but could you give me a hint where to find them? I checked out "jbpm.3".

Thx in advance
alex

thx in advance


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4131959#4131959

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4131959



More information about the jboss-user mailing list