当前位置: 首页 > news >正文

@KafkaListener注解

@KafkaListener(topics = "${xxxx}", containerFactory = "xxx")
public void consume(String message) {service.save(xx);
}

在 Spring Boot 中,使用 @KafkaListener 注解消费 Kafka 消息时,如果 service.save(cleanWikiSource) 抛出异常,消息不会被认为已经成功消费完毕。相应的行为取决于 Kafka 配置的 ack 模式以及错误处理机制:

默认情况(ack 模式为 BATCH 或 RECORD):

如果 service.save(cleanWikiSource) 抛出异常,Kafka 会自动将消息标记为未成功消费,并会重新尝试交付此消息(即消息会被重新消费)。
如果配置了 max.poll.interval.ms 或 max.poll.records 等参数,可以控制消费者重试间隔和次数。
手动确认(ack 模式为 MANUAL 或 MANUAL_IMMEDIATE):

如果您启用了手动提交确认(通过 KafkaListener 配置 ackMode = MANUAL),则在成功处理完消息后需手动调用 Acknowledgment.acknowledge() 方法标记消息已被消费。
如果 cleanWikiSourceService.save 方法失败且没有调用 acknowledge(),那么消息将会被重新投递。
错误处理机制:

可以配置 SeekToCurrentErrorHandler(适用于 KafkaListenerContainerFactory)来处理消费异常。此类错误处理器允许指定重试次数和延迟时间,消息在达到最大重试次数后将跳过或交给死信队列。

http://www.lryc.cn/news/464556.html

相关文章:

  • 2025年计算机视觉研究进展与应用国际学术会议 (ACVRA 2025)
  • 第二代GPT-SoVITS V2:让声音克隆变得简单
  • 基于x86_64汇编语言简单教程6: 变量,常量,与运算
  • Vue-router 路由守卫执行流程图
  • ES6 中函数参数的默认值
  • Redis知识应用索引指南
  • ES6扩展运算符
  • 【树莓派 5B】Python 版本切换
  • windows C++-有效使用PPL(五)
  • 【排序】——1.冒泡排序法(含优化)
  • 在MySQL中创建数据库和表
  • Hadoop 安装教程——单节点模式和分布式模式配置
  • 给c++小白的教程10:一维数组
  • 【排序】3.希尔排序法
  • 商品详情数据API接口概述(json数据格式返回参考)
  • Jmeter简介
  • 网页前端开发之HTML入门篇:标题标签 heading
  • 医院信息化与智能化系统(3)
  • 数据结构(线性表)
  • ArcGIS Pro SDK (十八)栅格
  • c++ 对象作用域
  • 【无标题】海尔AI英语面试
  • 软件设计模式------概述
  • 刷题/学习网站推荐
  • OQE-OPTICAL AND QUANTUM ELECTRONICS
  • 在 Spring MVC 应用程序中使用 WebMvcTest 注释有什么用处?
  • Chromium html<textarea>c++接口定义
  • OpenCV高级图形用户界面(13)选择图像中的一个矩形区域的函数selectROI()的使用
  • 《计算机视觉》—— 基于dlib库的人检检测
  • 分布式数据库安全可靠测评名录之平凯数据库(TiDB企业版)