当前位置: 首页 > 知识库问答 >
问题:

一次提交多个批次的偏移量

禹智渊
2023-03-14

我有一个kafkalistener,可以一次监听一批消息,如下所示

@KafkaListener(topics = "topicName", container = "conatainer_name")
public void listenEvents(@payload List<ConsumerRecord<String,String>> records, Acknowledgement ack) {
    process(records);
    ack.acknowledge();//committing offsets
}

我的问题是,有没有一种方法可以监听多批消息并只提交一次。例如,如果我在Kafka主题中有1000条消息,我希望以10批的形式一次听100条消息,并在处理10批消息后提交偏移量。

共有1个答案

陆啸
2023-03-14

目前没有机制聚合多个确认

您可以保存确认实例,并在准备就绪时逐个确认它们(确保按正确的顺序执行)。

 类似资料:
  • 我正在使用admin client API查询kafka broker,以使用以下代码获取CONSUMER_GROUP的提交偏移量: 上述代码将触发对特殊创建的_consumer_offsets主题的查询,以获取主题的每个分区(consumer_GROUP负责的分区)的提交偏移量。 另一方面,我使用下面的代码检索CONSUMER_GROUP的每个主题分区的最新(结束)偏移量 我的问题是,已提交和最

  • 我们正在使用Spring云流霍克斯顿。SR4使用来自Kafka主题的消息。我们启用了spring.cloud.stream.bindings.。consumer.batch-Mode=true,每次轮询获取2000条记录。我想知道是否有一种方法可以手动确认/提交整个批次。

  • 这就是我的表单的样子: 如果用户快速按下提交按钮10次,表单也将提交10次。我尝试将添加到submit按钮和下面的脚本中,但这并不能起到任何作用: 有什么解决方法吗?

  • 问题内容: 我有一个简单的AJAX表单,该表单可以在提交时正常运行。但是,如果我随后将新数据输入相同的表单(而不刷新页面),则它将提交两次表单。如果我第三次这样做,那么它将第三次提交表单,依此类推。为什么这样做呢?这是我的代码: 问题答案: 即使我在开发AJAX登录表单时也遇到了同样的问题。搜寻了几个小时后,我找到了解决方案。希望这对您有所帮助。 基本上,您必须在ajax请求完成后 取消绑定 表单

  • 我有一个Kafka消费者,我从它消费数据从一个特定的主题,我看到下面的例外。我使用的是Kafka版本。 我添加了这两个额外的消费者属性,但仍然没有帮助: 那个错误意味着什么?我该如何解决它?我需要添加一些其他消费者属性吗?

  • 我目前正在从具有特定偏移量的主题中获取消息。我正在使用寻求()来实现它。但是当我将enable.auto.commit设置为true或使用手动同步(委托同步()/委托同步())时,Seek()不起作用,因为它没有轮询来自特定偏移量的消息,而是从最后提交的偏移量中选择。 因此,在使用Seek()时,是否必须将偏移量存储在外部DB中,而不提交给Kafka?Seek和Commit不能并行工作吗? 客户端