ActiveMQ.Dispatcher.RedeliverRolledBackMessages C# (CSharp) Метод

RedeliverRolledBackMessages() публичный Метод

Whem we start a transaction we must redeliver any rolled back messages
public RedeliverRolledBackMessages ( ) : void
Результат void
        public void RedeliverRolledBackMessages()
        {
            lock (semaphore)
            {
                Queue replacement = new Queue(queue.Count + messagesToRedeliver.Count);
                foreach (ActiveMQMessage element in messagesToRedeliver)
                {
                    replacement.Enqueue(element);
                }
                messagesToRedeliver.Clear();

                while (queue.Count > 0)
                {
                    ActiveMQMessage element = (ActiveMQMessage) queue.Dequeue();
                    replacement.Enqueue(element);
                }
                queue = replacement;
                if (queue.Count > 0)
                {
                    PulseSemaphore();
                }
            }
        }

Usage Example

Пример #1
0
 public void RedeliverRolledBackMessages()
 {
     dispatcher.RedeliverRolledBackMessages();
 }