【问题标题】:Kafka Spring Consuming Messages which are not ConsumedKafka Spring 消费未消费的消息
【发布时间】:2022-06-15 23:24:19
【问题描述】:

正在学习 Kafka,我想知道是否有任何方法可以在 API 关闭时使用已排队/未使用的消息。

例如 当 API 关闭时,我向主题发送消息 {1,2,3,4,5} 启动 API,消费者应该消费消息 {1,2,3,4,5}

目前

@Service
public class ConsumerService {

  private final Logger logger = LoggerFactory.getLogger(ConsumerService.class);

  @KafkaListener(topics = "${kafka.topic-name}", groupId = "${kafka.group-id}")
  public void consume(String message) {
    logger.info(String.format("Message recieved -> %s", message));
  }
}

但这只会在 API 启动并运行时消耗消息

【问题讨论】:

  • 你在说什么“API”?如果监听器没有运行,则记录会在主题中累积,并在下次启动时被消耗。第一次需要将auto.offset.reset设置为earliest——否则消费者只会从话题末尾latest开始消费。

标签: apache-kafka kafka-consumer-api spring-kafka


猜你喜欢
  • 2020-08-11
  • 2021-06-06
  • 1970-01-01
  • 2016-11-11
  • 1970-01-01
  • 2017-09-23
  • 1970-01-01
  • 1970-01-01
  • 2018-06-04
相关资源
最近更新 更多