kafka教程-springboot消费者-spring.kafka.listener.ack-mode

介绍

spring.kafka.listener.ack-mode 配置 提交策略

值在AckMode枚举类中,如下:

public enum AckMode {
        RECORD,   //每处理一个消息,就提交一次
        BATCH,    //将上一次poll得到消息进行提交
        TIME,     //达到段时间间隔,就提交
        COUNT,      //达到次数,就提交
        COUNT_TIME, //达到次数和一段时间间隔,就提交
        MANUAL  // 手动提交
        MANUAL_IMMEDIATE  //每处理一条消息就提交一次
    }

分为两类:

  1. spring-kafak负责提交

    • RECORD:每处理一个消息,就提交一次。和MANUAL_IMMEDIATE类似,只是这里是通过spring-kafka自己操作,而MsManualImmediateAck需要我们自己在代码里面调用Acknowledgment#acknowledge

    • BATCH:将上一次poll得到消息进行提交。和MANUAL类似,BATH是通过spring-kafka操作,而MANUAL模式是用户自己通过调用Acknowledgment#acknowledge来执行。

    • TIME:达到段时间间隔,就提交

    • COUNT:达到次数,就提交

    • COUNT_TIME:达到次数和时间间隔两个条件,就提交

  2. 手动提交,通过在代码里面调用Acknowledgment#acknowledge()进行提交。

    • MANUAL:调用Acknowledgment#acknowledge可以先放置到offts中,到时候在processCommits中进行处理。

    • MANUAL_IMMEDIATE:处理完消息,调用Acknowledgment#acknowledge执行立刻提交。


原文出处:/show_1IXNQsbJWW1.html