暂时停止使用RabbitMQ消息并稍后恢复

问题描述 投票:1回答:1

我使用Java的rabbitmq-client(https://mvnrepository.com/artifact/com.rabbitmq/amqp-client),我需要实现以下场景:

  • 在接收Rabbit消息时,如果我怀疑所有等待数据都不适合内存,我可能需要暂停特定队列中的Rabbitmq消耗。
  • 处理完一些消息后,我需要再次打开消费以获取以下消息集。
  • 根据需要重复。

使用amqp-client Java库实现从RabbitMQ队列中监听暂停/恢复的最佳方法是什么?

java rabbitmq amqp amqp-client
1个回答
1
投票

您没有提到您使用哪种方法来使用消息,因此我假设您使用basicConsume订阅队列中的消息。

正如that document所提到的,你可以使用basicCancel停止从队列中消费。然后,当您希望重新开始时,您将使用basicConsume

请务必使用basicQos设置合理的预取计数。

© www.soinside.com 2019 - 2024. All rights reserved.