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

Kafka接收消息

文章目录

  • Acknowledgment
  • 读消息指定分区
  • 批量消费
  • 消息拦截

// 采用监听得方式接收 @Payload标记消息体内容.
@KafkaListener(topics = {"test"},groupId = "hello")
public void onEvent(@Payload String event,@Header(value = KafkaHeaders.RECEIVED_TOPIC) String topic,@Header(value = KafkaHeaders.RECEIVED_PARTITION_ID) String partition){System.out.println("读取到了时间消息: " + event);
}

Acknowledgment

开启手动确认模式;

listener:ack-mode: manual
// 采用监听得方式接收 @Payload标记消息体内容.
@KafkaListener(topics = {"test"},groupId = "hello")
public void onEvent(@Payload String event,@Header(value = KafkaHeaders.RECEIVED_TOPIC) String topic,@Header(value = KafkaHeaders.RECEIVED_PARTITION_ID) String partition,ConsumerRecord<String,String> record,Acknowledgment ack){ack.acknowledge(); // 手动确认,告诉kafka服务器该消息我已经收到了. System.out.println("读取到了时间消息: " + event);
}

读消息指定分区

@KafkaListener(groupId = "hello",topicPartitions = {@TopicPartition(topic = "${kafka.topic.test}",partitions = {"0","1","2"}, // 0 1 2分区不限制偏移量partitionOffsets = { // 3 分区只读 3偏移量之后的; 4分区只读 4偏移量之后的@PartitionOffset(partition = "3",initialOffset = "3"),@PartitionOffset(partition = "4",initialOffset = "3")})}
)

批量消费

修改配置

kafka:bootstrap-servers: 192.168.225.128:9092listener:type: batch# 每次读取20条consumer:max-poll-records: 20

消费者端接收一个List即可

@KafkaListener(topics = {"hi"},groupId = "batchGroup2")
public void onEvent3(List<ConsumerRecord<String,String>> records){System.out.println(records.size());
}

消息拦截

在这里插入图片描述

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

相关文章:

  • C语言 | Leetcode C语言题解之第233题数字1的个数
  • 简谈设计模式之原型模式
  • CentOS7.X系统部署Zabbix6.0版本(可跟做)
  • QT文件生成可执行的exe程序
  • 【ZooKeeper学习笔记】
  • 220V降5V芯片输出电压电流封装选型WT
  • AWS S3 基本概念
  • [XCUITest] 处理iOS权限点击授权 有哪些权限?
  • 宪法学学习笔记(个人向) Part.5
  • C语言的指针与数组
  • 计算机图形学入门28:相机、透镜和光场
  • Swift 基于Codable协议使用
  • conda激活的虚拟环境的python版本不对应
  • 深度学习概览
  • 什么是白盒测试中的静态测试?其包含哪些过程和方法?
  • 搭建一个高并发的Web商品推荐系统,如何涉及软件架构?
  • 今日科技圈最新时事新闻(2024年7月12日
  • jenkins系列-09.jpom构建java docker harbor
  • 构造+贪心,CF 432E,Square Tiling
  • 【Linux】任务管理
  • 计算机网络——常见问题汇总
  • Linux的世界 -- 初次接触和一些常见的基本指令
  • [AI 大模型] Meta LLaMA-2
  • Python3.6.6 OpenCV 将视频中人物标记或者打马赛克或加图片并保存为不同格式
  • Readiris PDF Corporate / Business v23 解锁版安装教程 (PDF管理软件)
  • .NET MAUI开源架构_2.什么是 .NET MAUI?
  • 认知偏差知识手册
  • SpringBoot后端代码基本逻辑
  • Python学生信息管理系统的设计与实现
  • 最优雅的PHP框架 Laravel