coffee-core
Version:
Coffee IT API core library
33 lines (32 loc) • 1.37 kB
TypeScript
import { ClassConstructor } from 'class-transformer';
import { BrokerConfigInterface } from './broker-config.interface';
import { EventSubscriber } from './event-subscriber';
import { ValidationMiddleware } from './validation/validation-middleware';
export declare class RabbitMQSubscriber implements EventSubscriber {
private readonly config;
private static instance;
private channel;
private server;
private createdQueue;
private readonly consumeHandlers;
private readonly usingRandomQueueName;
private readonly queueName;
private readonly logger;
private readonly eventRetryTimeoutSeconds;
private readonly consumeTimeoutSeconds;
private readonly autoAcknowledge;
private readonly isExclusive;
private readonly autoDeleteQueue;
private isConsuming;
private constructor();
subscribe(bindingKey: string, onConsume: (message: Record<string, unknown>) => Promise<void>, messageClass: ClassConstructor<any>, enableLogging?: boolean): Promise<void>;
private startEventSubscribe;
startReceivingMessages(): Promise<void>;
private findConsumeHandler;
close(): Promise<void>;
setValidationMiddleware(middleware: ValidationMiddleware): void;
private getChannel;
private getServer;
private connect;
static getInstance(config: BrokerConfigInterface): RabbitMQSubscriber;
}