zl程序教程

您现在的位置是:首页 >  其他

当前栏目

【第十一篇】Camunda系列-事件篇-错误事件

错误事件 系列 Camunda 第十一篇
2023-06-13 09:14:30 时间

错误事件

1 开始事件

  错误启动事件(error start event),可用于触发事件子流程(Event Sub-Process)。错误启动事件不能用于启动流程实例

错误启动事件总是中断。我们通过案例来介绍。

绘制事件子流程要注意:

选择错误启动事件

然后配置流程节点信息

然后在JavaDelegate中抛出对应的异常

public class FirstJavaDelegate implements JavaDelegate {
    @Override
    public void execute(DelegateExecution execution) throws Exception {
        System.out.println("FirstJavaDelegate:执行了" + LocalDateTime.now().toString());
        // 抛出的信息必须对应于error的Code信息
        throw new BpmnError("errorCode01");
    }
}

然后正常部署,启动流程。然后我们就可以看到对应的流转了

2 边界事件

  当子流程执行中对外抛出了相关的异常,那么我们设置的错误边界事件就能对应的捕获到相关的事件,然后做对应的处理,相关案例如下:

绘制错误边界流程图的时候需要先绘制中间事件的图标,然后拖拽到子流程的边界,然后修改对应的类型即可,错误边界事件绑定抛出对应的errorCode

然后对应的抛出的信息

public class SecondJavaDelegate implements JavaDelegate {
    @Override
    public void execute(DelegateExecution execution) throws Exception {
        System.out.println("SecondJavaDelegate:执行了" + LocalDateTime.now().toString());
        // 抛出的信息必须对应于error的Code信息
        throw new BpmnError("errorCode02");
    }
}

然后部署启动流程即可看到对应的效果