public RabbitMQMessageQueueDataManager(RabbitMQStreamProviderConfiguration configuration, string connectionName, Logger logger) { _configuration = configuration; _connectionName = connectionName; _logger = logger; var connectionFactory = configuration.ToConnectionFactory(); _connection = connectionFactory.CreateConnection($"{connectionName}"); _channel = _connection.CreateModel(); _props = GetBasicParameters(); }
private void Connect() { if (_isClosing) { throw new InvalidOperationException("Queue close has been requested."); } if (_connection == null || !_connection.IsOpen) { _connection?.Dispose(); var connectionFactory = _configuration.ToConnectionFactory(); _connection = connectionFactory.CreateConnection($"{_connectionName}"); } if (_channel == null || !_channel.IsOpen) { _channel?.Dispose(); _channel = _connection.CreateModel(); _channel.ExchangeDeclare(_configuration.Exchange, _configuration.ExchangeType, _configuration.ExchangeDurable, _configuration.AutoDelete, null); _channel.QueueDeclare(_configuration.Queue, _configuration.QueueDurable, false, false, null); _channel.QueueBind(_configuration.Queue, _configuration.Exchange, _configuration.RoutingKey, null); } }