代码之家  ›  专栏  ›  技术社区  ›  Alex Kamornikov

春季云流确定主题卡夫卡消息来源

  •  2
  • Alex Kamornikov  · 技术社区  · 7 年前

    我的 @StreamListener 收听中指定的多个卡夫卡主题(共10个主题) 春天云流动绑定。输入目的地 所有物

    有没有办法确定主题消息来自 @StreamListener 带注释的方法?我不想分别为所有主题配置绑定,并编写10个几乎相同的StreamListener。

    1 回复  |  直到 7 年前
        1
  •  3
  •   Artem Bilan    7 年前

    看见 KafkaHeaders. RECEIVED_TOPIC 可以在 @StreamListener 方法春季卡夫卡文档中的类似内容:

    @KafkaListener(id = "qux", topicPattern = "myTopic1")
    public void listen(@Payload String foo,
        @Header(KafkaHeaders.RECEIVED_MESSAGE_KEY) Integer key,
        @Header(KafkaHeaders.RECEIVED_PARTITION_ID) int partition,
        @Header(KafkaHeaders.RECEIVED_TOPIC) String topic,
        @Header(KafkaHeaders.RECEIVED_TIMESTAMP) long ts
            ) {
        ...
    }
    

    https://docs.spring.io/spring-kafka/reference/htmlsingle/#kafka-listener-annotation