Copy npm install @nestjstools/messaging @nestjstools/messaging-redis-extension
Copy yarn add @nestjstools/messaging @nestjstools/messaging-redis-extension
Copy import { MessagingModule } from '@nestjstools/messaging';
import { MessagingRedisExtensionModule, RedisChannelConfig } from '@nestjstools/messaging-redis-extension';
import { InMemoryChannelConfig } from '@nestjstools/messaging/channels';
import { SendMessageHandler } from './handlers/send-message.handler';
@Module({
imports: [
MessagingRedisExtensionModule,
MessagingModule.forRoot({
messageHandlers: [SendMessageHandler],
buses: [
{
name: 'message.bus',
channels: ['my-channel'],
},
{
name: 'command.bus',
channels: ['redis-command'],
},
{
name: 'event.bus',
channels: ['redis-event'],
},
],
channels: [
new InMemoryChannelConfig({
name: 'my-channel',
middlewares: [],
avoidErrorsForNotExistedHandlers: true,
}),
new RedisChannelConfig({
name: 'redis-command',
queue: 'command-queue',
connection: {
host: '127.0.0.1',
port: 6379,
},
middlewares: [],
avoidErrorsForNotExistedHandlers: false,
}),
new RedisChannelConfig({
name: 'redis-event',
queue: 'event-queue',
connection: {
host: '127.0.0.1',
port: 6379,
},
middlewares: [],
avoidErrorsForNotExistedHandlers: true,
}),
],
debug: true,
}),
],
})
export class AppModule {}