【问题标题】:How to temporarily resume Spring Kafka listener如何临时恢复 Spring Kafka 监听器
【发布时间】:2022-01-12 00:13:30
【问题描述】:

我正在维护一个 Spring Boot 应用程序,该应用程序将 Spring Kafka 用于各种异步流程。我已经实现了允许我动态暂停和恢复我选择的任何 Kafka 侦听器/消费者的功能。但是,我希望能够以某种方式恢复侦听器/消费者,使其仅临时轮询指定的固定数量的 Kafka 消息(例如 1 或 5),以便我可以在打开之前安全地测试侦听器的业务逻辑/ 完全恢复它。这样做的自然方式是什么?

【问题讨论】:

  • 嗯不确定是否有办法,我建议您添加一个计数器以仅消耗 N 条消息,然后使用您的(暂停功能)。您还可以看到stackoverflow.com/questions/38983405/…,因为您可以计算出您的分区中有多少条消息,并通过使用偏移量来寻求仅读取特定的消息。

标签: java spring-boot apache-kafka spring-kafka


【解决方案1】:

最新版本 (2.8) 允许您使用 KafkaTemplate 而不是消息驱动的方法来获取单个(或一组)消息。

https://docs.spring.io/spring-kafka/docs/current/reference/html/#kafka-template-receive

【讨论】:

    猜你喜欢
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 2020-10-03
    • 1970-01-01
    • 2021-03-11
    • 1970-01-01
    • 2018-11-08
    • 1970-01-01
    相关资源
    最近更新 更多