Rabbitmq 在RabbitListener中将reply_设置为属性
我是RabbitMQ的新手。我在Spring配置中使用以下侦听器: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
@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();
}