public RabbitMQMessageQueue(IOptions <RabbitMQOptions> options, ILoggerFactory loggerFactory) { _logger = loggerFactory.CreateLogger <RabbitMQMessageQueue>(); _options = options.Value; _connection = new PersistentConnection(CreateConnectionFactory(), loggerFactory.CreateLogger <PersistentConnection>(), _options.RetryCount); CreateConsumerChannel(); }
public RabbitMQMessageQueue(IOptions <RabbitMQOptions> options, ILoggerFactory loggerFactory) { _logger = loggerFactory.CreateLogger <RabbitMQMessageQueue>(); _options = options.Value; _connection = new PersistentConnection(CreateConnectionFactory(), loggerFactory.CreateLogger <PersistentConnection>(), _options.RetryCount); if (!_connection.IsConnected) { _connection.TryConnect(); } _logger.LogTrace("Creating RabbitMQ publish channel"); _publishChannel = _connection.CreateModel(); _publishChannel.ExchangeDeclare(exchange: _options.Exchange, type: "direct", durable: true); }