gpt4 book ai didi

.net - 如何检查RabbitMQ消息队列是否存在?

转载 作者:行者123 更新时间:2023-12-02 23:23:32 46 4
gpt4 key购买 nike

如何检查消息队列是否已存在?

我有 2 个不同的应用程序,一个创建队列,另一个从该队列读取。

因此,如果我运行首先从队列中读取的客户端,它就会崩溃。
因此,为了避免这种情况,我想首先检查队列是否存在。

这是我如何读取队列的代码片段:

QueueingBasicConsumer <ConsumerName> = new QueueingBasicConsumer(<ChannelName>); 
<ChannelName>.BasicConsume("<queuename>", null, <ConsumerName>);
BasicDeliverEventArgs e = (BasicDeliverEventArgs)<ConsumerName>.Queue.Dequeue();

最佳答案

不用费心去检查。

queue.declare是一个幂等操作。所以,如果你运行一次、两次、N次,结果仍然是一样的。

如果要确保队列存在,只需在使用前声明即可。确保每次都以相同的持久性、排他性、自动删除性来声明它,否则您将得到异常(exception)。

如果您确实需要检查队列是否存在(通常不需要),请对队列进行被动声明。如果队列存在,则该操作成功;如果不存在,则操作失败并出现错误。

关于.net - 如何检查RabbitMQ消息队列是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3457305/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com