public BlockingQueueConsumer(
     IConnectionFactory connectionFactory,
     IMessageHeadersConverter messagePropertiesConverter,
     ActiveObjectCounter <BlockingQueueConsumer> activeObjectCounter,
     AcknowledgeMode acknowledgeMode,
     bool transactional,
     ushort prefetchCount,
     ILoggerFactory loggerFactory,
     params string[] queues)
     : this(connectionFactory, messagePropertiesConverter, activeObjectCounter, acknowledgeMode, transactional, prefetchCount, true, loggerFactory, queues)
 {
 }
 public BlockingQueueConsumer(
     IConnectionFactory connectionFactory,
     IMessageHeadersConverter messagePropertiesConverter,
     ActiveObjectCounter <BlockingQueueConsumer> activeObjectCounter,
     AcknowledgeMode acknowledgeMode,
     bool transactional,
     ushort prefetchCount,
     bool defaultRequeueRejected,
     Dictionary <string, object> consumerArgs,
     ILoggerFactory loggerFactory,
     params string[] queues)
     : this(connectionFactory, messagePropertiesConverter, activeObjectCounter, acknowledgeMode, transactional, prefetchCount, defaultRequeueRejected, consumerArgs, false, loggerFactory, queues)
 {
 }
        public BlockingQueueConsumer(
            IConnectionFactory connectionFactory,
            IMessageHeadersConverter messagePropertiesConverter,
            ActiveObjectCounter <BlockingQueueConsumer> activeObjectCounter,
            AcknowledgeMode acknowledgeMode,
            bool transactional,
            ushort prefetchCount,
            bool defaultRequeueRejected,
            Dictionary <string, object> consumerArgs,
            bool noLocal,
            bool exclusive,
            ILoggerFactory loggerFactory,
            params string[] queues)
        {
            ConnectionFactory       = connectionFactory;
            MessageHeadersConverter = messagePropertiesConverter;
            ActiveObjectCounter     = activeObjectCounter;
            AcknowledgeMode         = acknowledgeMode;
            Transactional           = transactional;
            PrefetchCount           = prefetchCount;
            DefaultRequeueRejected  = defaultRequeueRejected;
            if (consumerArgs != null && consumerArgs.Count > 0)
            {
                foreach (var arg in consumerArgs)
                {
                    ConsumerArgs.Add(arg.Key, arg.Value);
                }
            }

            NoLocal       = noLocal;
            Exclusive     = exclusive;
            Queues        = queues.ToList();
            Queue         = new BlockingCollection <Delivery>(prefetchCount);
            LoggerFactory = loggerFactory;
            Logger        = loggerFactory?.CreateLogger <BlockingQueueConsumer>();
        }