程序在第一次执行失败后抛出异常,BPMN 错误在超时前结束事件

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

提问人:Mr.Simple 提问时间:5/26/2023 最后编辑:Mr.Simple 更新时间:5/31/2023 访问量:291

问:

bpmn_model您好,我正在使用如下所示的 bpmn 模型在超时后抛出异常。

我尝试使用错误结束事件在计时器边界事件(即 R5/PT10S)定义的超时后引发异常。这意味着在重试 5 次以内,如果执行不成功,则会抛出异常。但是我的程序在第一次执行失败后立即抛出异常。

Camunda BPMN 业务流程管理 Camunda-Modeler bpmn.io

评论


答:

1赞 rob2universe 5/31/2023 #1

这是两种不同的机制。

A) 任务“Something”的实现可能会失败并引发异常。如果这些异常不是 BPMNError 类型,这将导致技术事件,该事件适用于任务属性中定义的重试机制。

B) 如果在定义的时间内未收到消息,则将触发计时器事件。此流程路径会导致 BPMN 错误结束事件,这将导致 BPMN 错误。如果未捕获此错误,则不会导致技术事故,但该过程将结束。该错误旨在被具有 BPMN 错误捕获事件的周围父进程捕获。(见 https://docs.camunda.io/docs/components/modeler/bpmn/error-events/)

另请参阅:https://docs.camunda.org/manual/7.19/user-guide/process-engine/error-handling/