Beispiel #1
0
        public void ConsumeMessage(string topicName)
        {
            String ErrorReason = String.Empty;

            var consumeBldr = new ConsumerBuilder <Ignore, string>(_config.ConsumerConfig());
            {
                //Added Error handler
                consumeBldr.SetErrorHandler(ConsumerErrorHandler);
                consumeBldr.SetLogHandler(LogHandler);
                var consumer = consumeBldr.Build();

                try
                {
                    consumer.Subscribe(topicName);
                    ReadMessages(consumer);
                }
                catch (Exception ex)
                {
                    // if this exception occured then
                    ErrorReason = $"Error : { ex.Message } Type of { ex.GetType().Name } not handled and closing the consumer. { ex.InnerException?.Message } Source: { ex?.Source } .Stack :{ ex?.StackTrace}";
                    _worker.UnProcessedMessage("Empty Message Found", ErrorReason, SyslogLevel.Error);
                    consumer.Close();//TBD
                    consumer?.Dispose();
                }
            }
        }