public Receiver(IRabbitMQBase rabbitMQBase, ILoggerFactory loggerFactory, IOrderItemsDao orderItemsDao) { this.connection = rabbitMQBase.Connection; this.logger = loggerFactory.CreateLogger <Receiver>(); this.orderItemsDao = orderItemsDao; this.aggregatorQueueName = "AGGREGATOR_QUEUE"; }
public Sender(IRabbitMQBase rabbitMQBase, ILoggerFactory loggerFactory, IOrderItemsDao orderItemsDao, IOptions <DelayOptions> settings) { try { this.processedQueueName = "ORDERPROCESSED_QUEUE"; this.logger = loggerFactory.CreateLogger <Sender>(); this.connection = rabbitMQBase.Connection; this.processedChannel = connection.CreateModel(); this.processedChannel.QueueDeclare(queue: processedQueueName, durable: false, exclusive: false, autoDelete: false, arguments: null); this.orderItemsDao = orderItemsDao; this.delayOptions = settings?.Value ?? throw new ArgumentNullException(nameof(settings)); } catch (Exception ex) { this.logger.LogError($"Message: {ex.Message}, Source: {ex.Source}, StackTrace: {ex.StackTrace}"); } }