diff --git a/jbpm-flow/src/main/java/org/jbpm/workflow/instance/node/WorkItemNodeInstance.java b/jbpm-flow/src/main/java/org/jbpm/workflow/instance/node/WorkItemNodeInstance.java index 87249295f7..3394bf153b 100644 --- a/jbpm-flow/src/main/java/org/jbpm/workflow/instance/node/WorkItemNodeInstance.java +++ b/jbpm-flow/src/main/java/org/jbpm/workflow/instance/node/WorkItemNodeInstance.java @@ -317,11 +317,15 @@ public void cancel(CancelType cancelType) { if (exceptionHandlingProcessInstanceId > -1) { ProcessInstance processInstance = null; - KieRuntime kruntime = getKieRuntimeForExceptionSubprocess(); - processInstance = (ProcessInstance) kruntime.getProcessInstance(exceptionHandlingProcessInstanceId); + try { + KieRuntime kruntime = getKieRuntimeForExceptionSubprocess(); + processInstance = (ProcessInstance) kruntime.getProcessInstance(exceptionHandlingProcessInstanceId); - if (processInstance != null) { - processInstance.setState(ProcessInstance.STATE_ABORTED); + if (processInstance != null) { + processInstance.setState(ProcessInstance.STATE_ABORTED); + } + } catch(Exception e) { + logger.warn("Unable to obtain exceptionHandling processInstance {}", exceptionHandlingProcessInstanceId); } } super.cancel(cancelType);