Ejemplo n.º 1
0
		static void DeclareQueue(IQueueDeclareInfo queueDeclareInfo)
		{
			var connectionFactory = new ConnectionFactory {Uri = queueDeclareInfo.Uri};
			IConnection connection = connectionFactory.CreateConnection();
			IModel channel = connection.CreateModel();

			IDictionary arguments = null;

			if (queueDeclareInfo.DeadLetterConfiguration != null)
			{
				arguments = new Dictionary<string, object>();
				arguments.Add("x-dead-letter-exchange", queueDeclareInfo.DeadLetterConfiguration.ExchangeName);

				if (!string.IsNullOrWhiteSpace(queueDeclareInfo.DeadLetterConfiguration.RoutingKey))
				{
					arguments.Add("x-dead-letter-routing-key", queueDeclareInfo.DeadLetterConfiguration.RoutingKey);
				}
			}

			if (queueDeclareInfo.Expiration.HasValue)
			{
				arguments = arguments ?? new Dictionary<string, object>();
				arguments.Add("x-message-ttl", Convert.ToInt32(queueDeclareInfo.Expiration.Value.TotalMilliseconds));
			}

			channel.ExchangeDeclare(queueDeclareInfo.Exchange.Name, queueDeclareInfo.Exchange.ExchangeType,
			                        queueDeclareInfo.Exchange.IsDurable, queueDeclareInfo.Exchange.IsAutoDelete, null);
			channel.QueueDeclare(queueDeclareInfo.Name, queueDeclareInfo.IsDurable, queueDeclareInfo.IsExclusive,
			                     queueDeclareInfo.IsAutoDelete, arguments);
			channel.QueueBind(queueDeclareInfo.Name, queueDeclareInfo.Name, queueDeclareInfo.RoutingKey, queueDeclareInfo.Headers);
			channel.Close();
			connection.Close();
		}
Ejemplo n.º 2
0
        static void DeclareQueue(IQueueDeclareInfo queueDeclareInfo)
        {
            var connectionFactory = new ConnectionFactory {
                Uri = queueDeclareInfo.Uri
            };
            IConnection connection = connectionFactory.CreateConnection();
            IModel      channel    = connection.CreateModel();

            IDictionary arguments = null;

            if (queueDeclareInfo.DeadLetterConfiguration != null)
            {
                arguments = new Dictionary <string, object>();
                arguments.Add("x-dead-letter-exchange", queueDeclareInfo.DeadLetterConfiguration.ExchangeName);

                if (!string.IsNullOrWhiteSpace(queueDeclareInfo.DeadLetterConfiguration.RoutingKey))
                {
                    arguments.Add("x-dead-letter-routing-key", queueDeclareInfo.DeadLetterConfiguration.RoutingKey);
                }
            }

            if (queueDeclareInfo.Expiration.HasValue)
            {
                arguments = arguments ?? new Dictionary <string, object>();
                arguments.Add("x-message-ttl", Convert.ToInt32(queueDeclareInfo.Expiration.Value.TotalMilliseconds));
            }

            channel.ExchangeDeclare(queueDeclareInfo.Exchange.Name, queueDeclareInfo.Exchange.ExchangeType,
                                    queueDeclareInfo.Exchange.IsDurable, queueDeclareInfo.Exchange.IsAutoDelete, null);
            channel.QueueDeclare(queueDeclareInfo.Name, queueDeclareInfo.IsDurable, queueDeclareInfo.IsExclusive,
                                 queueDeclareInfo.IsAutoDelete, arguments);
            channel.QueueBind(queueDeclareInfo.Name, queueDeclareInfo.Name, queueDeclareInfo.RoutingKey, queueDeclareInfo.Headers);
            channel.Close();
            connection.Close();
        }
Ejemplo n.º 3
0
		public NegatableQueueDeclareContext(IQueueDeclareInfo queueDeclareInfo)
		{
			_queueDeclareInfo = queueDeclareInfo;
		}
Ejemplo n.º 4
0
 public NegatableQueueDeclareContext(IQueueDeclareInfo queueDeclareInfo)
 {
     _queueDeclareInfo = queueDeclareInfo;
 }