暂时停止使用 RabbitMQ 消息并稍后恢复
Temporarily stop consuming RabbitMQ messages and resume later
我使用Java的rabbitmq-client (https://mvnrepository.com/artifact/com.rabbitmq/amqp-client),我需要实现以下场景:
- 在接收 Rabbit 消息时,如果我怀疑所有等待的数据都不适合内存,我可能需要暂停特定队列的 Rabbitmq 使用。
- 我处理完一些消息后,需要对下面这组消息重新开启消费
- 根据需要重复。
使用 amqp-client Java 库实现 pause/resume 从 RabbitMQ 队列监听的最佳方法是什么?
你没有提到你使用哪种方法来消费消息,所以我假设你正在使用 basicConsume
订阅队列中的消息。
如 that document 所述,您可以使用 basicCancel
停止从队列中消费。当您希望重新开始时,您将使用 basicConsume
。
务必使用basicQos
设置合理的预取计数。
我使用Java的rabbitmq-client (https://mvnrepository.com/artifact/com.rabbitmq/amqp-client),我需要实现以下场景:
- 在接收 Rabbit 消息时,如果我怀疑所有等待的数据都不适合内存,我可能需要暂停特定队列的 Rabbitmq 使用。
- 我处理完一些消息后,需要对下面这组消息重新开启消费
- 根据需要重复。
使用 amqp-client Java 库实现 pause/resume 从 RabbitMQ 队列监听的最佳方法是什么?
你没有提到你使用哪种方法来消费消息,所以我假设你正在使用 basicConsume
订阅队列中的消息。
如 that document 所述,您可以使用 basicCancel
停止从队列中消费。当您希望重新开始时,您将使用 basicConsume
。
务必使用basicQos
设置合理的预取计数。