protected virtual void HandleDeserializeException(DeserializeException ex, IConsumeMessagingContext <TMessage> messagingContext) { if (_metadata.ConsumeOptions.IsAutoAckWhenDeserializeFailed) { _logger.Error(ex.InnerException, "The Queue({0}) deserialize message failed! Will auto ack this message!", _metadata.ConsumeOptions.Queue); messagingContext.Ack(); } else { _logger.Error(ex.InnerException, "The Queue({0}) deserialize message failed! Will reject message!", _metadata.ConsumeOptions.Queue); System.Threading.Thread.Sleep(2000); messagingContext.Nack(); } }
protected virtual void HandleUnknowException(Exception ex, IConsumeMessagingContext <TMessage> messagingContext) { _logger.Error(ex, "The Queue({0}) handle failed! Will reject message! Message Data: {1}", _metadata.ConsumeOptions.Queue, ToStringMessageData(messagingContext.Data)); System.Threading.Thread.Sleep(2000); messagingContext.Nack(); }
protected abstract Task HandleAsync(IConsumeMessagingContext <TMessage> message);
protected override Task HandleAsync(IConsumeMessagingContext <HelloMessage> message) { Console.WriteLine($"Hello {message.Data.Name}"); return(Task.CompletedTask); }