UNPKG

@message-queue-toolkit/amqp

Version:
46 lines 1.88 kB
import { AbstractPublisherManager } from '@message-queue-toolkit/core'; import { CommonAmqpQueuePublisherFactory } from "./CommonAmqpPublisherFactory.js"; export class AmqpQueuePublisherManager extends AbstractPublisherManager { constructor(dependencies, options) { super({ isAsync: false, eventRegistry: dependencies.eventRegistry, metadataField: options.metadataField ?? 'metadata', metadataFiller: options.metadataFiller, newPublisherOptions: options.newPublisherOptions, publisherDependencies: { amqpConnectionManager: dependencies.amqpConnectionManager, logger: dependencies.logger, errorReporter: dependencies.errorReporter, }, publisherFactory: options.publisherFactory ?? new CommonAmqpQueuePublisherFactory(), }); } resolveCreationConfig(queueName) { return { ...this.newPublisherOptions, queueOptions: {}, queueName, }; } /** * @deprecated use `publishSync` instead. */ publish() { throw new Error('Please use `publishSync` method for AMQP publisher managers'); } publishSync(queue, message, precedingEventMetadata, messageOptions) { const publisher = this.targetToPublisherMap[queue]; if (!publisher) { throw new Error(`No publisher for queue ${queue}`); } const messageDefinition = this.resolveMessageDefinition(queue, message); const resolvedMessage = this.resolveMessage(messageDefinition, message, precedingEventMetadata); publisher.publish(resolvedMessage, messageOptions); return resolvedMessage; } resolveEventTarget(event) { return event.queueName; } } //# sourceMappingURL=AmqpQueuePublisherManager.js.map