【问题标题】:NestJS integration with rabbitmq- specify exchange nameNestJS 与 rabbitmq 的集成——指定交换名称
【发布时间】:2021-08-26 17:27:43
【问题描述】:

我正在将 NestJS 应用程序与 RabbitMQ 集成,我遵循了这个tutorial 从教程中我可以看到消息消费者可以使用队列名称连接到 rabbitMQ 代理,但实际上我想创建一个连接到交换的临时队列。我在教程中指定的队列选项中找不到指定交换名称的选项。有人可以指出正确的配置来指定交换而不是队列吗? 是否可以在“queueOptions”结构中指定交换名称?

【问题讨论】:

    标签: rabbitmq nestjs


    【解决方案1】:

    根据我从您的教程中了解到的(我不知道 NestJS),createMicroservice 仅连接到一个队列(或在需要时创建它)。也就是说,它执行assertQueue操作:

    var queue = 'task_queue';
    
    channel.assertQueue(queue, {
      durable: false
    });
    

    如果要将队列绑定到现有的exchange,需要执行bindQueue操作:

    channel.bindQueue(queue, exchange, '');
    

    因此,您无法使用queueOptions 绑定到交换。看看official Rabbitmq documentation,尤其是“临时队列”和后面的“绑定”部分。

    【讨论】:

      猜你喜欢
      • 2022-11-27
      • 2019-08-16
      • 1970-01-01
      • 2020-08-16
      • 2012-08-23
      • 1970-01-01
      • 1970-01-01
      • 2020-02-02
      • 2012-03-31
      相关资源
      最近更新 更多