In jBPM5, you can set the waitForCompletion attribute of the call activity (aka subprocess) node to false, in which case it won't wait for the triggered process to complete before continuing.
thanks.. but I forgot to mention (other than a "tag") that I'm using jBPM3.. Running in SOA-P 5 so I'm going to continue with jBPM3 till SOA-P supports the new version.. I'll stash this answer though till then..
1 of 1 people found this helpful
I think your problem may be coming from the fact that 'normally' processes run synchronous, and that the JobExecutor (which is used to run asynchronous portions) is configured to use only one thread.
Therefore, even though you're using the 'async=true' attribute there will be one thread continuing the execution until it returns. Before the async part starts, the calling thread was used to execute the (first) process; the JobExecutor then takes over to execute the asyn Action (in your first process) and calls the second process, which starts to execute in that same thread - so the first process can do nothing but wait until that thread becomes available again before it can complete.
The solution lies in making (part of) the second process async; that gives the first process the opportunity to gain control again (the async executions are simply actions on a timer stack) before the second process is picked up again to continue.
Hope this helps a bit...