java - 如何停止使用 Java 和 Python 客户端在 RabbitMQ 中消费?

标签 java python rabbitmq pika

我同时拥有使用 channel.basicConsume() 的 Java 和 Python 客户端。在某些时候,我想在不停止整个程序的情况下停止那些消费者。

在带有 Pika 的 Python 中,我已经放置了 channel.stop_consuming() 调用,但那些生成的错误被我忽略了。似乎有效

在 Java 中,我不确定如何执行此操作,因为 stop_consume() 似乎不可用。

我看到的所有文档都谈到了创建消费者的所有方法,但我似乎找不到任何说明如何阻止它们的内容。

解决这个问题的最佳方法是什么?

最佳答案

对应basic_consumebasic_cancel . basic_cancel 将在 rabbitmq 完成取消时触发提供的 on_basic_cancel_ok 回调函数。为可能仍会收到一些消息的短时间做好准备。

参见:Pika Channel

关于java - 如何停止使用 Java 和 Python 客户端在 RabbitMQ 中消费?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15555636/

相关文章:

java - @NonNullByDefault 项目范围设置

java - 如何在一个 Controller 中解决两个 POST 方法

python - RabbitMQ 管理 API 调用失败 : HTTP 500: Internal Server Error

rabbitmq - 如何使用 RabbitMQ 策略将交换设置为持久的

rabbitmq - 在rabbitmq中广播消息并等待所有回复

java - Android 中从哪里获取 R.id.container?

java - 从两个单独的传入请求注入(inject)数据

python - 在给定 Pandas 条件的情况下,获取另一列的平均值

python - 如何将 Avg() 舍入到最接近的整数? Django

php - RabbitMQ 和 php-amqplib - 消息未传递给消费者