RabbitMq 3.8上的EasyNetQ经典队列

RabbitMq 3.8上的EasyNetQ经典队列,rabbitmq,easynetq,Rabbitmq,Easynetq,由于RabbitMq 3.8.0版队列在默认情况下是使用x-queue-type:classic创建的,因此这似乎会在EasyNetQ上导致错误 运行以下代码段将触发错误 this.bus.Receive(queueName, onMessage); 错误 我做了一些测试,我知道问题在于队列类型,我希望能够将EasyNetQ连接到这种队列,但我在文档中找不到有关如何执行此操作的任何参考。感谢您的报告。它实际上是RabbitMQ中的一个bug。我创建了一个问题报告,如果您愿意跟进的话。该修复程序

由于RabbitMq 3.8.0版队列在默认情况下是使用x-queue-type:classic创建的,因此这似乎会在EasyNetQ上导致错误

运行以下代码段将触发错误

this.bus.Receive(queueName, onMessage);
错误


我做了一些测试,我知道问题在于队列类型,我希望能够将EasyNetQ连接到这种队列,但我在文档中找不到有关如何执行此操作的任何参考。

感谢您的报告。它实际上是RabbitMQ中的一个bug。我创建了一个问题报告,如果您愿意跟进的话。该修复程序将以版本
3.8.2
发布



注意:RabbitMQ团队监视
RabbitMQ用户
,并且只在某些时候回答有关StackOverflow的问题。

队列最初在哪里声明?问题是您的easynetq正在尝试重新声明已存在的具有不同参数的队列。这里没有足够的信息来找出发生这种情况的地方。@theMayer提出了一个很好的观点。此队列是在升级到3.8之前声明的吗?我希望能够复制并修复这个。哎哟!我在升级3.8.1时得到了回归,QA测试集群运行良好,因为队列已经在3.7.4中创建,升级没有任何问题。
The AMQP operation was interrupted: AMQP close-reason, initiated by Peer, code=406, text='PRECONDITION_FAILED - inequivalent arg 'x-queue-type' for queue 'TheQueue' in vhost '/': received none but current is the value 'classic' of type 'longstr'', classId=50, methodId=10