我是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();
}
感谢您的帮助。
答案 0 :(得分:0)
不确定“应该设置为此消息。”是什么,但是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();
}