/// <summary>
 ///   Инициализирует экземпляр переменной типа <see cref="QueueConfigurationBase" />
 ///   и признаком необходимости проводить диагностику
 /// </summary>
 /// <param name="queueConfiguration"></param>
 /// <param name="isDiagnostic"></param>
 public KafkaQueueMessageAdapter(KafkaQueueConfiguration queueConfiguration, bool isDiagnostic)
 {
     _configuration  = queueConfiguration.ThrowIfNull(nameof(queueConfiguration));
     _connectionLock = new object();
     _isDisposed     = false;
     _isDiagnostic   = isDiagnostic;
 }
Exemple #2
0
        public IConsumer <Ignore, byte[]> CreateConsumer(
            KafkaQueueConfiguration config,
            Action <IConsumer <Ignore, byte[]>, LogMessage> logHandler = null,
            Action <IConsumer <Ignore, byte[]>, Error> errorHandler    = null)
        {
            config.ThrowIfNull(nameof(config));

            var builder = new ConsumerBuilder <Ignore, byte[]>(new ConsumerConfig
            {
                GroupId                 = config.GroupId,
                BootstrapServers        = $"{config.Server}",
                AutoOffsetReset         = config.AutoOffsetReset,
                SaslKerberosKeytab      = config.KeyTab,
                SaslKerberosPrincipal   = config.User,
                SaslKerberosServiceName = config.ServiceName,
                SecurityProtocol        = config.Protocol,
                SaslMechanism           = config.Mechanism,
                Debug = config.Debug
            });

            if (logHandler != null)
            {
                builder.SetLogHandler(logHandler);
            }
            if (errorHandler != null)
            {
                builder.SetErrorHandler(errorHandler);
            }

            return(builder.Build());
        }
 /// <summary>
 ///   Инициализирует экземпляр переменной типа <see cref="QueueConfigurationBase" />
 ///   и признаком необходимости проводить диагностику
 /// </summary>
 /// <param name="queueConfiguration">Конфигурация подключения</param>
 /// <param name="connectionFactory">Фабрика для создания подключения к оередям</param>
 /// <param name="logger">Интерфейс логгирования</param>
 public KafkaQueueMessageAdapter(KafkaQueueConfiguration queueConfiguration, IKafkaConnectionFactory connectionFactory, ILogger <KafkaQueueMessageAdapter> logger)
 {
     _connectionFactory = connectionFactory;
     _logger            = logger;
     _configuration     = queueConfiguration.ThrowIfNull(nameof(queueConfiguration));
 }