HI
I did the execution like that to test whole flow, so it was just a unit test.
What you are describing (at least as far as I understood it) is the normal way jBPM works. If you deploy your process to data base and then execute it via bpm console you will do it in three stages:
1. start process - will go to wait state
2. signal from wait state - will go to subprocess
3. wait state after subprocess execution
4. signal from wait state again and go to end node
All of them will be triggered separately. I am not sure about your execution context - is it a test case or is it a standalone application or running in a container. Please elaborate a bit or even post you classes so I could test it a bit more.
Cheers,
Maciej