【问题标题】:Does AMQP java client cache queue contents from RabbitMQ?AMQP java客户端是否缓存来自RabbitMQ的队列内容?
【发布时间】:2014-07-31 00:22:38
【问题描述】:

问题:

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

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

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

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

【问题讨论】:

    标签: java rabbitmq amqp


    【解决方案1】:

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

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

    为什么会发生这种行为?

    为了提高性能。

    顺便说一句,你可以看到客户端prefetch参数

    编辑*

    默认情况下,消息被大量预取。消息由消费者在 块,但实际上在消费者发送时被消费并从队列中删除 确认。

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

    【讨论】:

      猜你喜欢
      • 2012-07-11
      • 2014-12-13
      • 2012-09-23
      • 1970-01-01
      • 1970-01-01
      • 2019-04-26
      • 2011-05-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多