As we transition to the new Hyland Community, some post links may be temporarily disrupted as we finalize redirects. We apologize for the inconvenience and are working to resolve this as quickly as possible. Details.
Our main process definition starts with a call to am embedded sub process, when an exception occurs in the firs service task of the sub process the exception is propagated up the stack all the way up to where the parent process is initiated. This kills the parent and sub process. Is this expected behaviour? If this sub-process were just a Service Task when an exception occurs we would have the in built retry attempts, why do we not see this behaviour in the sub-process service task?
Anything other than a BpmnError() will cause termination of the process instance and will cause the parent process to fail. Technical exceptions must be handled inside your service code, business exceptions, or technical exceptions that need to be ultimately handled manually should throw BpmnError() exceptions. These can be caught in the process flow and will automatically bubble up the execution stack.
The Book, Activiti in Action covers exception handling at length.
Regards,Greg