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 中实施错误处理:

  1. 在编辑器中打开 KameletBinding YAML 文件。
  2. 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
  3. 保存您的文件。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.