protected override void Run() { _consumer.Subscribe(TopicName); _cancellationTokenSource = new CancellationTokenSource(); try { _logger.LogDebug("Consumidor vai esperar chegar uma mensagem. Até mais!"); var cr = _consumer.Consume(_cancellationTokenSource.Token); _processMessage.ProcessReceivedMessage(JsonSerializer.Deserialize <MessageModel>(cr.Message.Value)); _logger.LogDebug("Consumidor recebeu e encaminhou uma mensagem."); } catch (ConsumeException e) { _logger.LogError($"Consumidor encontrou problemas: {e.Message}"); } catch (OperationCanceledException) { _logger.LogInformation("Solicitação de cancelamento recebida pelo Consumidor"); _consumer.Close(); _logger.LogInformation("Consumidor finalizado"); } }