读取 AMQP 消息 headers spring 云流

Read AMQP message headers spring cloud stream

我制作了 spring 批处理应用程序,它生成由 json objects 列表组成的 amqp (rabbitmq) 消息。消息有 headers 和一些元数据。 Spring 云流应用程序正在使用消息,我使用的是函数式方法。如何访问 headers?
将消息 headers 用于路由以外的任何东西都是不好的方法吗?

如果您在 Spring Cloud Stream 应用程序中的函数签名接受消息(例如):

@Bean
public Consumer<Message<?>> consume() {
    return message -> {
        message.getHeaders()....
    };
}

。 .然后您可以简单地访问消息 headers。 我们也在努力简化它。

不,将消息 headers 用于除路由 之外的任何东西都不是 糟糕的方法。 将 Message Headers 视为元信息,仅与当前消息相关。 . .对当前消息重要但之后不重要的任何内容。