RabbitMq 3.8 上的 EasyNetQ 经典队列

EasyNetQ classic queue on RabbitMq 3.8

由于 RabbitMq 版本 3.8.0 队列默认使用 x-queue-type: classic 创建,这似乎导致 EasyNetQ 出错。

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

this.bus.Receive(queueName, onMessage);

错误

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

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

感谢您报告此事。这实际上是 RabbitMQ 中的一个错误。如果您想继续,我创建了一个问题报告 here。该修复程序将在版本 3.8.2.

中发布

注意: RabbitMQ 团队监控 rabbitmq-users mailing list 并且有时只在 Whosebug 上回答问题。

在 3.8.0 中遇到同样的问题。 我在 3.8.23 中验证 - 问题已解决。 我正在关注本教程。 https://medium.com/swlh/guide-to-nest-js-rabbitmq-microservices-e1e8655d2853 它确实明确提到使用 3.8.2。还是累了3.8.0,遇到了issue