public MessageQueueDetail Build <T>(string uri)
        {
            var queue = GetQueueDetails <T>(uri);

            if (queue == null)
            {
                return(new MessageQueueDetail
                {
                    Exists = false,
                    MessageCount = null,
                    Uri = _queueNameFactory.Build <T>()
                });
            }

            return(new MessageQueueDetail
            {
                Exists = true,
                MessageCount = Convert.ToInt32(queue.MessageCount),
                Uri = queue.QueueName
            });
        }
Ejemplo n.º 2
0
        private string ConfigureQueue(IModel channel)
        {
            var exchange   = _exchangeNameFactory.Build <T>();
            var routingKey = _routingKeyFactory.Build <T>();
            var queue      = _queueNameFactory.Build <T>();

            var basicProperties = channel.CreateBasicProperties();

            basicProperties.ContentType = _messageFormatter.GetMIMEContentType();

            channel.QueueDeclare(queue, _configuration.IsQueueDurable, _configuration.IsQueueExclusive, _configuration.SupportsAutoDelete, null);
            channel.QueueBind(queue, exchange, routingKey);

            return(queue);
        }