Exemplo n.º 1
0
 public void SetQueueArguments(string key, object value)
 {
     if (!QueueArguments.ContainsKey(key))
     {
         QueueArguments.Add(key, value);
     }
 }
Exemplo n.º 2
0
 public override string ToString()
 {
     return(string.Format(CultureInfo.InvariantCulture,
                          "QueueName[{0}], QueueDurable[{1}], QueueExclusive[{2}], QueueAutoDelete[{3}], QueueNoAck[{4}], QueueArguments[{5}], QueueBindRoutingKeys[{6}]",
                          QueueName, QueueDurable, QueueExclusive, QueueAutoDelete, QueueNoAck,
                          QueueArguments == null ? string.Empty :
                          string.Join(",", QueueArguments.Select(kv => string.Format("[{0}:{1}]", kv.Key, kv.Value))),
                          QueueBindRoutingKeys == null ? string.Empty :
                          string.Join(";", QueueBindRoutingKeys.ToArray())));
 }
Exemplo n.º 3
0
 public override string ToString()
 {
     return(string.Join(", ", new[]
     {
         $"name: {QueueName}",
         Durable ? "durable" : "",
         AutoDelete ? "auto-delete" : "",
         Exclusive ? "exclusive" : "",
         string.Join(", ", QueueArguments.Select(x => $"{x.Key}: {x.Value}"))
     }.Where(x => !string.IsNullOrWhiteSpace(x))));
 }
Exemplo n.º 4
0
        public void SetQueueArgument(string key, object value)
        {
            if (key == null)
            {
                throw new ArgumentNullException(nameof(key));
            }

            if (value == null)
            {
                QueueArguments.Remove(key);
            }
            else
            {
                QueueArguments[key] = value;
            }
        }
Exemplo n.º 5
0
        public void SetQuorumQueue(int?replicationFactor)
        {
            SetQueueArgument(Headers.XQueueType, "quorum");
            Durable   = true;
            Exclusive = false;

            QueueArguments.Remove(Headers.XMaxPriority);

            if (replicationFactor.HasValue)
            {
                if (replicationFactor.Value < 1)
                {
                    throw new ArgumentOutOfRangeException(nameof(replicationFactor), "Must be greater than zero and less than or equal to the cluster size.");
                }

                SetQueueArgument(Headers.XQuorumInitialGroupSize, replicationFactor.Value);
            }
        }