Javascript 如何确定应该使用哪种套接字从RabbitMQ队列获取消息?

Javascript 如何确定应该使用哪种套接字从RabbitMQ队列获取消息?,javascript,node.js,sockets,rabbitmq,rabbit.js,Javascript,Node.js,Sockets,Rabbitmq,Rabbit.js,我正在使用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 curren

我正在使用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
的options对象,但没有效果。一切都在以正确的顺序启动,但我总是得到关于持久值设置错误的错误

问题是:我如何查看RabbitMQ服务器上的队列页面并确定应该使用哪种套接字连接到它?我可以尝试一些方法,但盲目尝试并不是一个好方法,因此我宁愿知道我使用的是正确的类型

这两件事可能互不相干。如果是这样的话,我希望你能给我一个解释,因为我显然错过了

以下是我的RabbitMQ队列页面的图像:


编辑:改变我的订阅插座到拉插座固定它。仍然不确定我如何通过查看队列页面知道(或是否知道)

我不知道您的库使用的抽象背后是什么,但错误消息是:

“前置条件_失败-vhost'/'中exchange'WorkOrderQuery.Response'的参数'durable'不相等:收到'false',但当前为'true'”

这意味着您的程序在某个时刻将一个交换声明为持久的,但随后尝试将其重新声明为非持久的


在RabbitMQ中,无论何时重新声明交换或队列,都必须使用与创建资源时使用的参数相同的参数

这就是我的想法,但我不是在声明交换。我只是想连接到一个队列,所以它真的很混乱。如果没有看到一些代码,很难评估发生了什么。同样,库可能在其API上“连接到队列”,但在幕后它可能声明了一个交换。