@xnestjs/rabbitmq
v1.12.3
Published
NestJS extension library for RabbitMQ
Readme
@xnestjs/rabbitmq
@xnestjs/rabbitmq is a powerful extension library for integrating RabbitMQ into your NestJS applications with ease.
📦 Installation
Use npm:
npm install @xnestjs/rabbitmqOr with yarn:
yarn add @xnestjs/rabbitmq🚀 Getting Started
Synchronous Registration
Here's how to register the RabbitMQ module synchronously in your NestJS application:
// my.module.ts
import { Module } from '@nestjs/common';
import { RabbitmqModule } from '@xnestjs/rabbitmq';
@Module({
imports: [
RabbitmqModule.forRoot({
useValue: {
urls: ['amqp://localhost:5672'],
},
}),
],
})
export class MyModule {}Asynchronous Registration
For dynamic configuration (e.g., using a ConfigService), use the async registration method:
// my.module.ts
import { Module } from '@nestjs/common';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { RabbitmqModule } from '@xnestjs/rabbitmq';
@Module({
imports: [
ConfigModule.forRoot(),
RabbitmqModule.forRootAsync({
inject: [ConfigService],
useFactory: (config: ConfigService) => ({
urls: config.get<string[]>('RMQ_URLS'),
}),
}),
],
})
export class MyModule {}⚙️ Environment Variables
The module supports configuration via environment variables. These can be used in place of or alongside the object-based
configuration. By default, variables are prefixed with RMQ_.
