Search code examples
camundabpmnbusiness-process-managementcamunda-modelerbpmn.io

Program throwing exception after first failed execution with BPMN Error End Event before timeout


bpmn_modelHello, I’m using bpmn model like below to throw exception after timeout.

I tried to use Error End Event to throw exception after the timeout defined by Timer Boundary Event which is R5/PT10S. It means that within 5 times of retries, if the execution is not successful, the exception will be thrown out. But my program throws exception right after the 1st failed execution.


Solution

  • These are two different mechanisms.

    A) The implementation of the task "Something" can fail and throw exceptions. If those exception are not of type BPMNError, this will lead to a technical incident, which works with the retry mechanism defined in the task properties.

    B) If the message is not received within the defined time, then the timer event will fire. This process path leads to a BPMN error end event, which will cause a BPMN error. If this error is not caught, it will not lead to a technical incident, but the process will end. The error is meant to be caught be a surrounding parent process with a BPMN error catch event. (see https://docs.camunda.io/docs/components/modeler/bpmn/error-events/)

    Also see: https://docs.camunda.org/manual/7.19/user-guide/process-engine/error-handling/