如何在NestJS中设置RabbitMQ连接名以在管理控制台显示?
在NestJS中设置RabbitMQ连接友好名称
虽然NestJS的RmqOptions接口里没有直接暴露连接名称的配置项,但可以通过传递底层amqplib的连接参数实现这个需求,具体操作如下:
- 找到你的RMQ客户端配置(不管是
ClientsModule.register、@Client装饰器还是异步配置),在options字段下添加connectionOptions对象 - 在
connectionOptions里设置connectionName字段,填入你想要的友好名称
同步配置示例
import { Module } from '@nestjs/common'; import { ClientsModule, Transport } from '@nestjs/microservices'; @Module({ imports: [ ClientsModule.register([ { name: 'RABBITMQ_SERVICE', transport: Transport.RMQ, options: { urls: ['amqp://localhost:5672'], queue: 'business_queue', // 传递给amqplib的连接参数 connectionOptions: { connectionName: '订单服务-RabbitMQ连接', }, }, }, ]), ], }) export class OrderModule {}
异步配置示例
ClientsModule.registerAsync([ { name: 'RABBITMQ_SERVICE', useFactory: () => ({ transport: Transport.RMQ, options: { urls: process.env.RABBITMQ_URLS(','), queue: process.env.RABBITMQ_QUEUE, connectionOptions: { connectionName: `${process.env.SERVICE_NAME}-RabbitMQ连接`, }, }, }), inject: [], }, ]),
配置完成后启动服务,登录RabbitMQ管理控制台进入「Connections」页面,就能看到你设置的友好连接名称了。
内容的提问来源于stack exchange,提问作者Michał Sochacki
相关产品推荐
相关产品推荐

