【发布时间】:2015-07-02 16:18:34
【问题描述】:
我正在使用 Rabbit.js 连接到远程服务器上的队列。问题是每次我尝试连接时都会得到:
Error: Channel closed by server: 406 (PRECONDITION-FAILED) with message
"PRECONDITION_FAILED - inequivalent arg 'durable' for exchange 'WorkOrderQuery.Response' in vhost '/': received 'false' but current is 'true'"
at Channel.C.accept (/Users/collumj/work/alpha/node_modules/rabbit.js/node_modules/amqplib/lib/channel.js:398:24)
at Connection.mainAccept [as accept] (/Users/collumj/work/alpha/node_modules/rabbit.js/node_modules/amqplib/lib/connection.js:63:33)
如果需要,我可以提供代码。我尝试在相关点传递带有durable: true 的选项对象无效。一切都以正确的顺序启动,但我总是收到关于持久值设置错误的错误。
问题是:我如何查看 RabbitMQ 服务器上的队列页面并确定我应该使用哪种类型的套接字来连接它?我可以尝试一些但盲目尝试是不行的这不是一个好方法,所以我宁愿知道我使用的是正确的类型。
这两件事可能彼此无关。如果是这样,我将不胜感激,因为我显然错过了它。
这是我的 RabbitMQ 队列页面的图片:
编辑:将我的 SUBSCRIBE 套接字更改为 PULL 套接字修复了它。仍然不确定通过查看队列页面我会如何知道(或是否)。
【问题讨论】:
标签: javascript node.js sockets rabbitmq rabbit.js