the default behaviour of the join is as you describe. you must have some other problem why the join doesn't work that way
thanks a lot for your quick reply! I built a test case and hope you can either tell me what I'm doing wrong or fix the bug in jBPM ;-)
This is my test process definition: http://www.nightlabs.de/~marco/jbpm/2006-12-18.00/processimage.jpg
Here is a little test application (incl. the process definition): http://www.nightlabs.de/~marco/jbpm/2006-12-18.00/jbpmfork.tar.gz
And here are screen shots (of the above test application) showing two wrong/strange behaviours:
As you see in A3, I was able to move the root token from the Fork node "fork1" to the State "state_left_1", even though the child tokens didn't reach the Join node yet. This is not a serious problem, though, because I could find out that the root token has active child tokens and prevent the user from doing the transition "to_state_left_1". However, is this behaviour really intended? Shouldn't jBPM prevent signalling the root token while there are active children?
This is what I've described in my previous posting. As you see in B3 and B4, I move the two child tokens to the Join node "join1". Correctly, the root token jumps from "fork1" to "state_after_join" as soon as the second child token reached "join1". B5 demonstrates, however, that I can continue moving the second child token after it has reached "join1" - it does not end in this Join node.
Btw, I'm using jBPM version 3.1.2 with MySQL 5.0.18.
Best regards, Marco :-)