public void PostConsume(IFeedResult mesages) { foreach (var msg in mesages.FailedMessages) { if (msg.Age > MaximumMessageAge) { log.ErrorException(msg.Payload.ToString(), msg.Errors.First().Error); ErrorStrategy.Handle(msg); } else { log.WarnException(msg.Payload.ToString(), msg.Errors.First().Error); msg.Age = msg.Age + 1; RetryStrategy.Handle(msg); } } }
public static IFeedResult With(this IFeedResult self, IFeedResult feedResult) { var successMessages = new HashSet<TransportMessage>(self.SuccessfulMessages.Union(feedResult.SuccessfulMessages)); var failedMessages = new HashSet<TransportMessage>(self.FailedMessages.Union(feedResult.FailedMessages)); return new MessageProcessor.FeedResult(successMessages, failedMessages); }