Example #1
0
        void HandlePoisonMessage(string id, ReceivedTransportMessage transportMessage)
        {
            log.Error("Handling message {0} has failed the maximum number of times", id);
            var errorText         = errorTracker.GetErrorText(id);
            var poisonMessageInfo = errorTracker.GetPoisonMessageInfo(id);

            MessageFailedMaxNumberOfTimes(transportMessage, errorText);
            errorTracker.StopTracking(id);

            try
            {
                PoisonMessage(transportMessage, poisonMessageInfo);
            }
            catch (Exception exceptionWhileRaisingEvent)
            {
                log.Error("An exception occurred while raising the PoisonMessage event: {0}",
                          exceptionWhileRaisingEvent);
            }
        }