【问题标题】:How to add headers to a message before posting to Kafka Topic using Spring Cloud Stream如何在使用 Spring Cloud Stream 发布到 Kafka 主题之前向消息添加标头
【发布时间】:2020-12-26 20:33:58
【问题描述】:

我刚刚意识到在 Kafka 主题上收到的消息会丢失标题。有没有办法在将消息发布到 Kafka 主题之前向消息添加标头,然后在消费者处阅读它? 我正在使用 Java 11、Spring Cloud Hoxton.SR6、Spring 2.2.4、kafka_2.13-2.6.0。提前致谢!

【问题讨论】:

    标签: java spring-cloud spring-cloud-stream spring-cloud-stream-binder-kafka


    【解决方案1】:

    我认为发布这个问题有点太早了。它很简单。从 HttpServletRequest 或 HttpRequest(spring) 获取请求标头,然后在写入 MessageChannel 时,在传递标头时调用 CopyHeaders 方法。你也可以跳过那些不需要的。在消费者,而不是自定义对象,获取具有所有标题的消息对象

    制片人 MessageBuilder.withPayload(message).copyHeaders(headersMap).build(); 消费者 processMessage(Message<?> message)

    【讨论】:

      猜你喜欢
      • 2021-01-09
      • 2022-11-11
      • 2022-11-19
      • 2021-06-12
      • 2018-07-18
      • 2022-01-06
      • 1970-01-01
      • 2020-11-02
      • 1970-01-01
      相关资源
      最近更新 更多