我使用Java的rabbitmq-client(https://mvnrepository.com/artifact/com.rabbitmq/amqp-client),我需要实现以下场景:
- 在接收 Rabbit 消息时,如果我怀疑所有等待的数据都不适合内存,我可能需要暂停特定队列中的 Rabbitmq 消耗。
- 处理完一些消息后,我需要再次打开以下一组消息的消费。
- 根据需要重复此操作。
使用 amqp-client Java 库实现暂停/恢复从 RabbitMQ 队列监听的最佳方法是什么?
您没有提到使用哪种方法来使用消息,因此我假设您正在使用basicConsume
来订阅队列中的消息。
如该文档所述,您可以使用basicCancel
停止从队列中使用。然后,当您希望重新开始时,您将使用basicConsume
。
请务必使用basicQos
来设置合理的预取计数。