AMQP java客户端是否从RabbitMQ缓存队列内容?

时间:2014-06-10 09:35:14

标签: java rabbitmq amqp

问题:

我有一个生产者和消费者客户端,可以读取队列或从队列中写入(使用Java MQ的Java AMQP库)。

生产者的生产率高于消费者。 现在,在停止生产者时,消费者仍然继续使用队列中的数据。

但是Rabbit MQ控制台上的队列显示为空。

客户端库是否缓存队列中的内容?为什么会发生这种情况?

1 个答案:

答案 0 :(得分:3)

  

客户端库是否缓存队列中的内容?

是的,客户端可以缓存消息

  

为什么会出现这种情况?

为了提高性能。

顺便说一下,您可以看到客户端prefetch参数

修改*

默认情况下,邮件是预先填写的。邮件由消费者检索 块,但实际上在消费者发送时消耗并从队列中删除 确认。

您应该检查未确认的消息:

enter image description here