1.4. 在连接中处理错误
要指定在发送或接收事件数据时运行的集成遇到失败,Camel K operator 应该做什么,您可以选择在 Kamelet Binding 中添加以下错误处理策略之一:
- 无错误处理程序 - 忽略您的集成中出现的所有故障。
- 日志 错误处理程序 - 向标准输出发送日志消息。
- 死信频道错误处理程序 - 将失败的事件重定向到另一组件,如第三方 URI、队列或其他 Kamelet,它们可以通过失败事件执行某些逻辑。还支持在将消息发送到死信端点之前重试消息交换的次数。
- bean error handler - 指定使用自定义 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
- 保存您的文件。