标签: spring-cloud-stream spring-rabbitmq
我们正在使用春季云流来消费和产生Rabbitmq的消息。
我们需要从传入消息中读取相关性ID,并将其设置在产生的消息上。
我们可以使用message.getHeaders()读取相同内容,但是如何在外发消息上进行设置?
使用MessageBuilder.setHeader()时,我们可以发送该值,但是在Rabbit管理控制台中,它显示在标题而不是属性下。
我们的生产者和消费者应用程序都没有使用Spring Cloud Stream。
答案 0 :(得分:0)
您是否设置了AmqpHeaders.CORRELATION_ID标头?那是映射到属性或从属性映射的。如果您还有其他用途,它将被设置为标题。
AmqpHeaders.CORRELATION_ID
编辑
对我来说很好...
@Bean public ApplicationRunner runner(MessageChannel output) { return args -> output.send(new GenericMessage<>("foo", Collections.singletonMap(AmqpHeaders.CORRELATION_ID, "foo"))); }
和
确定使用正确的常量吗?