【问题标题】:RabbitMQ durability with mirrored queues and PerfTest具有镜像队列和 PerfTest 的 RabbitMQ 持久性
【发布时间】:2015-08-11 07:42:52
【问题描述】:

我设置了带有镜像队列的 RabbitMQ 集群。客户端代码可以正常工作,当服务器关闭时,另一个处理请求。

我想对此进行一些性能测试。为此,我使用了 rabbitmq-client-tools (PerfTest)。

sh ./runjava.sh com.rabbitmq.examples.PerfTest -h "AMQP_STRING" -u QUEUE_NAME

这会引发以下问题并且不起作用:

com.rabbitmq.client.ShutdownSignalException:通道错误;协议方法:#method(reply-code=406,reply-text=PRECONDITION_FAILED - vhost 'VHOST_NAME' 中队列 'QUEUE_NAME' 的不等效参数 'durable':收到 'false' 但当前为 'true',class-id=50 , method-id=10)

现在,当我的服务器重新启动时,队列仍然存在 - 这是否意味着队列/交换是持久的?如何解决?

【问题讨论】:

    标签: rabbitmq rabbitmqctl


    【解决方案1】:

    您似乎已经有一个名为 QUEUE_NAME 的队列,该队列之前已声明过。所述队列是持久的,而您试图将其重新声明为非持久,这是协议不允许的。

    您必须删除队列并使用新属性重新创建它才能解决问题。请确保在删除该队列之前清空该队列中的消息。

    【讨论】:

      猜你喜欢
      • 2018-01-09
      • 2012-05-14
      • 2011-12-22
      • 2014-05-21
      • 1970-01-01
      • 2016-01-04
      • 1970-01-01
      • 2016-01-28
      • 2017-06-28
      相关资源
      最近更新 更多