1.4. 处理连接中的错误
要指定在发送或接收事件数据时,如果正在运行的集成遇到失败,Camel K operator 应该做什么,您可以选择将以下错误处理策略添加到 Kamelet Binding:
- 没有错误处理程序 - Ignores 在集成中出现任何故障。
- 日志错误处理程序 - 将日志消息发送到标准输出。
- dead letter 频道错误处理程序 - 将故障事件重定向到另一个组件,如第三方 URI、队列或其他 Kamelet,该处理程序可以执行具有失败事件的某些逻辑。还支持在将消息发送到死信端点之前尝试重新传输消息交换多次。
- bean 错误处理程序 - 指定使用自定义 Bean 处理错误。
- ref error handler - 指定使用 bean 来处理错误。Bean 必须在运行时在 Camel 注册表中可用。
1.4.1. 在 Kamelet Binding 中添加错误处理器策略
要在源和目标连接之间发送和接收事件数据时处理错误,请在 Kamelet Binding 中添加错误处理器策略。
先决条件
- 您知道您要使用的错误处理程序策略类型。
-
您有一个现有的
KameletBinding
YAML 文件。
流程
在 Kamelet Binding 中实施错误处理:
-
在编辑器中打开
KameletBinding
YAML 文件。 在
sink
定义后,在spec
部分添加一个 error 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
- 保存您的文件。