spring兔子回复同队列

spring rabbit reply to the same queue

当我将回复消息发送到我作为消费者连接到的同一个队列时,我的消费者立即尝试再次使用该消息。但是如何在没有任何进一步消耗的情况下将其作为回复发送?

onMessage(...){
      byte[] arr = SerializationUtils.serialize(res);
      //compute result message
      Message resMessage = new Message(arr, composeMessageProperties(null));
      message.getMessageProperties().setReplyTo("thesamequeue");
      //handle result
      handleResult(resMessage, message, channel);
}

阿瓦隆,

JMS Request/Reply 模式使用 2 个队列。

第一个队列(Request queue)是用来在一个进程中取请求的。第二个队列(Reply queue)用于发送响应。然后另一个侦听器(在您的上下文内部或外部)可以依次从您的回复队列中读取响应并相应地执行逻辑。

使用 2 个队列有助于分离关注点。在您的上下文中,第一个队列侦听器需要处理请求并将响应放入您的回复队列。该响应将由其他 process/system ...

处理