I found some strange instances of ActionHandlers.
We wrote our own sub process handler. We needed more control over the communication between parent and child and over the embedding of the child into the parent.
For testing purposes I tried to let our sub process node as part of process A call process A again. This is a recursive call which we will not allow and there will be checks against.
This is the situation.
Let AP be the parent process instance and AC the child instance.
We create the AC like this:
JbpmContext jbpmContext =executionContextOfAP.getJbpmContext() GraphSession graphSession = jbpmContext.getGraphSession(); List processDefinitions = graphSession.findAllProcessDefinitions(); <... Looking for process by the name of AP ... > ProcessInstance processInstanceOfAC = processDefinitionOfAC.createProcessInstance();
1: I cannot find any reason why it should be.
3: No idea, if you want to know on short notice, best if you try yourself.