示例#1
0
        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();
        }
示例#2
0
 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);
     }
 }