i just saw that suspend and resume was implemented in executionimpl to make the link test work
not the suspend and resume impl that i had in mind.
imo, suspend should make sure that 1) all tasks related to that exectuion don't show up in task lists and 2) all timers and async messages related to that execution are not executed
resume should do the reverse.
i don't think that suspend and resume should have an effect within one tx. so it should not interfere with the propagation or execution.
I know this implementation is not complete and probably different from the one you expected but it was a good way to shwo you what is needed in Bpel flow executions...
I am still trying to find a better solution.
yes. that is the spirit.
I think functionality should move to an execution scope. I want to do a link test myself as well. You don't have to do it, but if we have 2 versions, we can always compare them.
I just commited a new version of LinkTest without using suspend/resume.
I just spent many hours going in deep in all of Execution methods to understand which method I had to call (and where)...
I think the new code is in the line of pvm concepts... What do you think ?
* static methods canExecute, addWaitingActivity and memberFields linkStatusses and waitingExecutions should be moved/created in a FlowScope
* i think execution.proceed(); should not be in the abstract activity. as in that case, the child nodes cannot behave as wait states any more
* for the sources and target members i create a separate topic. those have to be moved to either the NodeBehaviour (Activity) or we have to extend Node. I'm not yet sure what strategy is best.
this done now...
Can you have a look ?