26.6. 使用者错误处理


虽然 kafka consumer 是轮询来自 kafka 代理的消息,但可能会发生错误。本节描述了发生情况以及您可以配置的内容。

在调用 Kafka 轮询 API 时,使用者可能会抛出异常。例如,如果消息因为无效数据而无法进行反序列化,则很多其他类型错误。这些错误采用 KafkaException 的形式,它们是可 重试或不可重试。可重试(RetriableException)的例外情况将再次重试(介于 之间轮询超时)。所有其他例外情况均根据 pollOnError 配置进行处理。此配置具有以下值:

  • DISCARD 将丢弃消息,并继续轮询下一个消息。
  • ERROR_HANDLER 将使用 Camel 的错误处理程序来处理异常,之后再继续轮询下一个消息。
  • RECONNECT 将重新连接消费者,然后再次尝试轮询消息。
  • RETRY 将让使用者再次轮询相同的消息
  • STOP 将停止消费者(如果使用者应该能够再次使用消息,则必须手动启动/重新启动)。

默认值为 ERROR_HANDLER,它允许 Camel 的错误处理程序(如果配置了任何配置)处理原因异常。然后,它会继续轮询下一个消息。这个行为与 Camel 组件拥有的 bridgeErrorHandler 选项类似。

对于高级控制,可以在组件级别上配置 org.apache.camel.component.kafka.PollExceptionStrategy 的自定义实现,它可以控制上述策略中的异常原因。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.