EasyNetQ不同版本不能通讯的问题

EasyNetQ让.net的开发者很方便的使用RabbitMQ的Api

我是在17年接触并一直使用到现在,当时开发的小应用使用的版本还是1.x的,现在EasyNetQ都到6.x了。那时候我们使用1.x写了一个消费者端,专门用于队列中消息消费的。

今年我们把我们的一个子应用使用.net core进行了重构,在使用EasyNetQ进行生产了一条消息到队列时,发现消费者并没有订阅消费消息。

一顿调试后,消息是publish成功的,消费者也是监听着队列的,然而就是不消费。难道是EasyNetQ的版本问题?

然后又是一顿操作,写了几个控制台程序进行验证我的猜想,经测试同版本的EasyNetQ生产-----消费竟然是成功的,当时就来了句卧槽,难道不同的版本就不能进行通信了?

带着疑问又是一顿度娘,然而并没有找到解决方案,又带着疑问去github找issues,我觉得我遇到的问题应该有前辈也遇到到了,嗯,果然被我找到了。

在EasyNetQ的issue找到这个:Are Queue Naming Conventions different accross versions of the library?

原因:在v3版本之前exchange name用冒号分隔,之后的版本使用逗号分隔

解决方案:https://github.com/EasyNetQ/EasyNetQ/wiki/Enable-Legacy-Conventions

按照它的做法,我的问题就解决了,在此记录一下。

EasyNetQ不同版本不能通讯的问题

上一篇:json中 load losads 和 dump dumps


下一篇:[K8s] Kubernetes核心基础概念 Node, Pod, ReplicaSet, Deployment, Service, Ingress, ConfigMap