Beispiel #1
0
        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");
            }
        }