We defined the following process in Guvnor:
The "si event" is signal intermediate event, and the property "cancel activity" is set to true. When an event named "error_ref" is fired in the embedded sub-process, all the tasks in the sub-process is set to exited.
If you following these steps:
Step 1: start the process
Result: process instance with id 1 is created, the process execution goes to HR Task and admin Task. The corresponding human task record is created successfully.
Step 2: execute code ksession.signalEvent("error_ref", null, 1);
Result:HR Task and admin Task all marked exited, the process goes to submit repeatedly as expected. The corresponding human task record is created successfully.
Step 3: Complete "submit repeatedly" human task
Result: No task is created. the process is not going into the embedded sub process again as we expected. The process instance is still running (not finished) and the process execution is stopped at submit repeatedly node. In database, the NodeInstanceLog table, the submit repeatedly node have the field type valued 0.
We checked the source code.
When we complete the submit repeatedly task
org.jbpm.workflow.instance.node.WorkItemNodeInstance.java line 306 looks like this:
We found that the workItemId is not equals to workItem.getId(), nodeId is not the sames as the node id of sumbit repeatedly task node.
We are using JBPM 5.4 final, the Guvnor version is 5.5.0 final.
Any ideas of why this will happen and how to avoid this?