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



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

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

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

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

如该文档所述,您可以使用basicCancel停止从队列中使用。然后,当您希望重新开始时,您将使用basicConsume

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

最新更新