15.4. 错误类型和过滤器


错误处理尝试捕获和处理任何类型的错误,因此需要一种方法来分类错误。这样,就可以从错误正确提取信息,并使其可插拔,因为有些用户可能需要以不同于默认提供的方式进行特定类型错误。

错误分类和过滤基于 ExecutionErrorFilters。此接口仅负责构建 ExecutionError 实例,这些实例以 ExecutionErrorStorage 策略的形式存储。它有以下方法:

  • 接受 :指示过滤器是否可以处理给定错误。
  • 过滤 :发生实际过滤、处理等。
  • getPriority: 表示调用过滤器时使用的优先级。

每次过滤一个错误,并使用优先级系统来避免多个过滤器返回同一错误的替代"views"。优先级启用更为特殊的过滤器来查看是否可以接受错误,或者允许另一个过滤器处理它。

ExecutionErrorFilter 可使用 ServiceLoader 机制来提供,这使得错误处理的功能可轻松扩展。

Red Hat Process Automation Manager 附带以下 ExecutionErrorFilters

Expand
表 15.1. ExecutionErrorFilters
类名称类型优先级

org.jbpm.runtime.manager.impl.error.filters.ProcessExecutionErrorFilter

Process

100

org.jbpm.runtime.manager.impl.error.filters.TaskExecutionErrorFilter

任务

80

org.jbpm.runtime.manager.impl.error.filters.DBExecutionErrorFilter

DB

200

org.jbpm.executor.impl.error.JobExecutionErrorFilter

作业

100

根据优先级的最低值,会给过滤器赋予更高的执行顺序。在下表中,按以下顺序调用过滤器:

  1. 任务
  2. Process
  3. 作业
  4. DB
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat