java 队列和rabbitmq_java – 如何在不使消息出列的情况下浏览rabbitmq中的队列
我正在嘗試獲取具有特定相關ID的消息,如rabbitmq docs中所述.但是我看到無關的消息被出列了.我不希望它發生.在得到消息后,我怎么能告訴rabbitmq沒有出隊,并且知道這不是我想要的那個.請幫我.
`
.
.
replyQueueName = channel.queueDeclare().getQueue();
consumer = new QueueingConsumer(channel);
channel.basicConsume(replyQueueName, false, consumer);
while (true) {
QueueingConsumer.Delivery delivery = consumer.nextDelivery();
System.out.println(delivery.getProperties().getCorrelationId());
if (delivery.getProperties().getCorrelationId().equals(corrId)) {
response = new String(delivery.getBody());
break;
}
}
`
最佳答案 你不能按照你想要的方式做你想做的事. “選擇性消費者”是RabbitMQ中的反模式.
相反,您應該設計RabbitMQ設置,以便將消息路由到僅包含預期使用者消息的隊列.
總結
以上是生活随笔為你收集整理的java 队列和rabbitmq_java – 如何在不使消息出列的情况下浏览rabbitmq中的队列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: opencv乱码java_opencv
- 下一篇: php获取post表单数据_PHP获取P