首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nodejs:避免消费者创建临时rabbitmq队列

Nodejs:避免消费者创建临时rabbitmq队列
EN

Stack Overflow用户
提问于 2019-10-14 17:33:26
回答 1查看 635关注 0票数 0

我正在使用rabbitmq topic exchange来消费从客户端推送的消息。因此,我创建了一个队列并将队列绑定到默认的exchange amq.topic

代码语言:javascript
复制
amqp.connect(uri, (error0, connection) => {
    if (error0) {
        throw error0;
    }
    connection.createChannel((error1, channel) => {
        if (error1) {
            throw error1;
        }
        channel.assertExchange(exchange, 'topic', {
            durable: true
        });
        channel.assertQueue('', { durable: true });
        channel.bindQueue('queue1', exchange, key);
        try {
            channel.consume('queue1', msg => {
                if (msg !== null) {
                    console.log(" [x] %s:'%s'", msg.fields.routingKey, msg.content.toString());
                }
            }, { noAck: true },);

但是,amqp每次连接并消费消息时,都会创建一个Temporary queues,但没有删除?

当我有一个队列时,为什么要创建消耗时间中的临时队列?以及如何避免创建?

EN

回答 1

Stack Overflow用户

发布于 2019-10-14 20:16:26

当您试图声明一个具有空白名称的队列时,将生成具有随机名称的队列amq.gen-*。这里的问题是您传递的是空值作为队列名称。将相同的内容更改为下面。

channel.assertQueue('demo-queue', { durable: true });

有关详细信息,请参阅https://www.rabbitmq.com/tutorials/tutorial-one-javascript.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58373934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档