外部任务异常处理

Uncategorized
698 words

外部任务异常处理

引言

  • 文档目的
    在外部任务执行过程中可能出现异常,需要对这些异常情况进行处理。

功能或技巧概述

  • 功能或技巧简介
  • 适用场景
    • 处理外部任务的异常

实现步骤

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@Bean
@ExternalTaskSubscription("create-order")
public ExternalTaskHandler orderCreatorHandler() {
return (externalTask, externalTaskService) -> {

var variables = externalTask.getAllVariables();
Map<String, Object> params = new HashMap<>(16);
try {
//TODO 创建订单
externalTaskService.complete(externalTask, params);
} catch (IOException e) {

externalTaskService.handleBpmnError(externalTask, "create-order-error");
}
};
}

在上述代码中会抛出一个错误,使用错误事件捕获(Error Event Catching)在外部任务周围添加错误事件捕获边界事件(Error Boundary Event),以捕获外部任务执行期间可能发生的异常。当外部任务引发异常时,错误事件将被触发,在错误事件的处理逻辑中定义如何处理该异常。