CFX无法使用RabbitMQ队列中的消息

时间:2019-10-22 05:08:49

标签: rabbitmq

我是CFX和RabbitMQ的新手。 我已经按照CFX和RabbitMQ上的教程来发布和使用消息。

我的经纪人的设置如下。

我已经在RabbitMQ Broker中手动创建了交换,队列和绑定= exchangeA-> routingKeyA-> queueA(持久队列,不包含任何其他参数)

CFX =
Uri uri = new Uri($"amqp://{Username}:{Password}@localhost:5672");
string exchangeAddress = $"/exchange/exhangeA/routingKeyA";
string queueAddress = $"/queue/queueA/";

endpoint.AddPublishChannel(uri,exchangeAddress);
endpoint.AddSubscribeChannel(uri,queueAddress);

结果:

我能够使用CFX成功发布和接收消息。

但是,如果我删除队列并再次使用RabbitMQ管理重新创建它,并通过将参数“ x-queue-mode” = true设置为一个懒惰队列,或者将自动删除设置为true /设置其他任何值对于队列的队列参数,我的CFX能够发布消息,但无法使用队列中的消息。 错误消息将继续显示,如下所示:

"ERROR extablishing connection to queue = PRECONDITION_FAILED - inequivalent arg 'auto_delete' for queue 'queueA' in vhost '/': received 'false' but current is 'true'"

我已经为队列和交换设置了绑定。

如果有人请指导我/让我知道是否有办法使用队列中的消息(如果RabbitMQ代理中创建的队列包含参数),我将不胜感激。

或者,如果当前的CFX无法使用队列中的消息创建参数,则CFX无法使用该消息,并且它只能使用队列中的消息,而无需设置任何参数就可以持久使用该消息,因为我似乎无法在CFX文档中找到任何允许我在使用addSubscribeChannel之前设置队列参数的参数?

如果我错了,请纠正我。

任何反馈将不胜感激。

感谢您的期待。 问候, 雪兔子。

0 个答案:

没有答案