【问题标题】:Setting reply_to properties in RabbitListener在 RabbitListener 中设置 reply_to 属性
【发布时间】:2019-03-22 15:28:27
【问题描述】:

我是 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();
}

感谢您的帮助。

【问题讨论】:

    标签: rabbitmq spring-amqp spring-rabbit


    【解决方案1】:

    不确定“应该设置此消息”是什么,但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();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-03
      • 2011-09-28
      • 2019-03-02
      • 1970-01-01
      • 1970-01-01
      • 2016-09-30
      相关资源
      最近更新 更多