搜索

1.4. 在连接中处理错误

download PDF

要指定在发送或接收事件数据时运行的集成遇到失败,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 中实施错误处理:

  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.