Example #1
0
        public void Start()
        {
            Model = _connectionAdapter.GetConnection().CreateModel();

            if (_queueName != null)
            {
                Model.QueueDeclare(_queueName, true, false, false, null);
            }
            else
            {
                _queueName = Model.QueueDeclare().QueueName;
            }

            if (_exchangeName != null)
            {
                Model.ExchangeDeclare(_exchangeName, Exchange.GetExchangeType(_exchangeType));

                foreach (var routingKey in _routingKeys)
                {
                    Model.QueueBind(_queueName, _exchangeName, routingKey.Create());
                }
            }

            Model.BasicQos(0, _prefetchCount, false);
            Model.BasicConsume(_queueName, _autoAcknowledge, this);
        }