private void Handler(ITransactionalMessage message) { _logger.Debug("Handler called {QueueName} {@Message}", _queueName, message?.Message); try { _messageHandler(message.Message, _cancellationTokenSource.Token); message.Ack(); } catch (Exception exception) { ErrorHandler(message, exception); } }
private void ErrorHandler(ITransactionalMessage message, Exception exception) { _logger.Debug(exception, "Error Handler called {QueueName} {@Message}", _queueName, message?.Message); try { if (CallErrorHandler(message.Message, exception)) { message.Ack(); } else { message.NAck(); } } catch (Exception ex) { _logger.Information(ex, "Exception in Error Handler {QueueName} {@Message} {@Exception}", _queueName, message, exception); message?.NAck(); } }