繁体   English   中英

AMQP Java客户端是否缓存RabbitMQ的队列内容?

[英]Does AMQP java client cache queue contents from RabbitMQ?

问题:

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

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

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

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

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

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

为什么会发生这种现象?

为了提高性能。

顺便说一句,您可以看到客户端预取参数

编辑*

默认情况下,邮件被高度预取。 使用者以块的形式检索消息,但是当使用者发送ack时,消息实际上会被使用并从队列中删除。

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

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM