Just as Bernd says, control is propagated in a chain of responsibility from node to transition to node until a node stops propagating. The latter node will be the wait state. The call stack is:
node.execute()
| ->node.leave(Transition)
| ->transition.take()
| ->node.enter()
| ->node.execute()
As a side note, in jBPM 3 this simple propagation model has indirect recursion and may result in a stack overflow if a wait state is not encountered soon enough. This has been addressed in PVM.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4162160#4162160
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4162160