从RabbitMq 3.8.0版本开始,队列是用**x-queue-type创建的:默认情况下,这似乎会导致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到这种队列,但我找不到任何参考文件中如何做到这一点。
2条答案
按热度按时间lstz6jyr1#
谢谢你报告这件事。这是RabbitMQ中的一个bug。我创建了一个问题报告here,如果你愿意跟随沿着。修复将在
3.8.2
版本中提供。lb3vh1jj2#
在3.8.0中遇到了同样的问题。我在3.8.23中进行了验证-问题已解决。我在看这个教程。https://medium.com/swlh/guide-to-nest-js-rabbitmq-microservices-e1e8655d2853它确实明确提到使用3.8.2。我仍然累了3.8.0和击中的问题。