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

时间:2017-12-30 10:38:05

标签: java rabbitmq amqp amqp-client

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

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

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

1 个答案:

答案 0 :(得分:1)

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

that document所述,您可以使用basicCancel停止从队列中消费。然后,当您希望重新开始时,可​​以使用basicConsume

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