1.4. 处理连接中的错误
要指定运行的集成在发送或接收事件数据时应该做什么,您可以选择在 Kamelet Binding 中添加以下错误处理策略之一:
- 没有错误处理程序 - 忽略您的集成中出现的任何故障。
- 日志错误处理程序 - 将日志消息发送到标准输出。
- 死信通道错误处理程序 - 将失败的事件重定向到另一个组件,如第三方 URI、队列或其他 Kamelet,它们可以通过失败事件执行某些逻辑。另外,还支持尝试恢复消息交换的次数,然后再将其发送到死信端点。
- bean 错误处理程序 - 指定使用自定义 bean 来处理错误。
- ref 错误处理程序 - 指定使用 bean 来处理错误。bean 必须在运行时的 Camel 注册表中提供。
1.4.1. 在 Kamelet Binding 中添加错误处理器策略
要在源和接收器连接间发送或接收事件数据时处理错误,请在 Kamelet Binding 中添加错误处理程序策略。
前提条件
- 您知道要使用的错误处理程序策略类型。
-
您有一个现有的
KameletBinding
YAML 文件。
流程
在 Kamelet Binding 中实施错误处理:
-
在编辑器中打开
KameletBinding
YAML 文件。 在
sink
定义后在spec
部分添加错误 handler 部分:apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: example-kamelet-binding spec: source: ... sink: ... errorHandler: ...
例如,在
coffee-to-log
Kamelet Binding 中,通过添加日志错误处理程序指定错误的最大次数:apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: coffee-to-log spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: coffee-source properties: period: 5000 sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: log-sink errorHandler: log: parameters: maximumRedeliveries: 3
- 保存您的文件。