在 RabbitListener 中设置 reply_to 属性

Setting reply_to properties in RabbitListener

我是 RabbitMQ 的新手。我在 Spring 配置中使用以下侦听器:

@RabbitListener(queues = "${rabbitmq.queue.a}")
@SendTo("${rabbitmq.queue.b}")
public ResponseMessage receive(RequestMessage request) {
    ResponseMessage response = new ResponseMessage();
    response.setRawPayload(jsonMapper.toJson(request));
    return response;
}

而且我希望从该方法向 rabbitmq.queue.b 队列发送消息时,应设置 "reply_to "属性到这条消息。

@Value("${rabbitmq.queue.b}")
private String responseQueue;

@Bean
Queue responseQueue() {
    return QueueBuilder
            .durable(responseQueue)
            .build();
}

感谢您的帮助。

不确定 "should be set to this message." 是什么,但是 reply_to 可以用这样的方式处理:

@RabbitListener(queues = "${rabbitmq.queue.a}")
@SendTo("${rabbitmq.queue.b}")
public Message<ResponseMessage> receive(RequestMessage request) {
    ResponseMessage response = new ResponseMessage();
    response.setRawPayload(jsonMapper.toJson(request));
    return org.springframework.messaging.support.MessageBuilder.withPayload(response)
                 .setHeader(AmqpHeaders.REPLY_TO, "YOUR_QUEUE_NAME_FOR_REPLY")  
                 .build();
}