This package provides a NestJS module for integrating with RabbitMQ using exchanges. It offers a client and server implementation for message queuing and supports features like health checks and error serialization. It simplifies the process of setting up and managing RabbitMQ connections and message handling within NestJS applications.
Add the package to your workspace:
yarn add @rxap/nest-rabbitmq
Install peer dependencies:
yarn add @nestjs/common @nestjs/config @nestjs/microservices @nestjs/terminus @rxap/utilities amqp-connection-manager amqplib rxjs
Execute the init generator:
yarn nx g @rxap/nest-rabbitmq:init
import { VaultModule, RabbitmqVaultService } from '@rxap/nest-vault';
import { ClientsModule } from '@nestjs/microservices';
import { ClientRmqExchangeModuleOptionsFactory, RABBITMQ_EXCHANGE } from '@rxap/nest-rabbitmq';
import { Logger, Module } from '@nestjs/common';
@Module({
imports: [
VaultModule.register(),
ClientsModule.registerAsync({
clients: [
{
name: RABBITMQ_EXCHANGE,
useClass: ClientRmqExchangeModuleOptionsFactory,
extraProviders: [ RabbitmqVaultService, Logger ]
}
],
isGlobal: true
})
],
})
export class AppModule { }
Initialize the package in the workspace
nx g @rxap/nest-rabbitmq:init