作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 nodejs 的 amqplib 库与 RabbitMQ 一起工作。我正在尝试使用函数 checkQueue
来检查队列是否存在:
mychannel.checkQueue('xxx', function (err, ok) {
console.log(err);
console.log(ok)
});
但它不仅会抛出错误,还会关闭 channel 。如何安全地检查队列是否存在?
最佳答案
您不能不冒破坏 channel 的风险。解决方法是创建一个临时 channel ,您可以使用它来进行检查。
来自 amqp.node dev 的评论:( https://github.com/squaremo/amqp.node/issues/280 )
The behaviour of checkQueue is dictated by the protocol, but it can be worked around. One tactic is to create a "sacrificial" extra channel with which to test whether the queue exists. Once you have the answer, you can throw the extra channel away, or keep it around for more tests.
关于node.js - amqplib - 如何安全地检查队列是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39088376/
我是一名优秀的程序员,十分优秀!