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