/// <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; }
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)); }