【问题标题】:Consume 2 topics but process only one topic which is enabled消费 2 个主题,但只处理一个已启用的主题
【发布时间】:2022-08-17 13:20:09
【问题描述】:

对于我们的应用程序,我们正在将 smae 消息写入具有 2 个不同主题的 2 个不同的 Kafka 代理,现在在消费者部分,我必须同时使用这两个主题并只处理一个在 Spring Boot 属性文件中启用的主题。

我如何使用 spring boot 和 Kafka Listener 来做到这一点?

  • 你到底是什么意思主题是“启用”?你能显示minimal reproducible example吗?
  • 您可以使用@KafkaListenerautoStartup 属性来控制您要使用的主题。那一个真的可以来自外部属性配置。

标签: java apache-kafka spring-kafka


【解决方案1】:

您可以通过以下方式简单地配置它:

@KafkaListener(topics = { "${spring.kafka.topic1}", "${spring.kafka.topic2}" })    

现在,如果您想同时使用两者但处理一个并丢弃另一个,您可以在消息中使用密钥并在两个主题上相应地创建密钥 参考: Java consumer APIConsumerRecord#key()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-26
    • 2017-02-23
    • 2017-01-26
    • 1970-01-01
    • 2014-10-25
    • 2020-09-19
    相关资源
    最近更新 更多