Rabbitmq 在RabbitListener中将reply_设置为属性

Rabbitmq 在RabbitListener中将reply_设置为属性,rabbitmq,spring-amqp,spring-rabbit,Rabbitmq,Spring Amqp,Spring Rabbit,我是RabbitMQ的新手。我在Spring配置中使用以下侦听器: @RabbitListener(queues = "${rabbitmq.queue.a}") @SendTo("${rabbitmq.queue.b}") public ResponseMessage receive(RequestMessage request) { ResponseMessage response = new ResponseMessage(); response.setRawPayload

我是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();
}
感谢您的帮助。

不确定“应设置为此邮件”的内容,但可以通过以下方式处理
回复到

@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();
}
@RabbitListener(queues=“${rabbitmq.queue.a}”)
@发送到(${rabbitmq.queue.b}”)
公共消息接收(请求消息请求){
ResponseMessage response=新的ResponseMessage();
setRawPayload(jsonMapper.toJson(请求));
返回org.springframework.messaging.support.MessageBuilder.withPayload(响应)
.setHeader(AmqpHeaders.REPLY_TO,“您的_队列_名称_FOR_REPLY”)
.build();
}