public DefaultKafkaConsumerClientFactory( IOptions <KafkaOptions> kafkaOptions, IOptions <KafkaConsumerOptions> options, ILogger <DefaultKafkaConsumer> logger) { _logger = logger; _options = options.Value; _options.BrokerServers = _options.BrokerServers == null || _options.BrokerServers.Length <= 0 ? kafkaOptions.Value.BrokerServers : _options.BrokerServers; }
public KafkaUnderlyingConfigBuilder Append(KafkaConsumerOptions options) { if (options.BrokerServers == null || options.BrokerServers.Length <= 0) { throw new ArgumentNullException(nameof(options.BrokerServers)); } if (options.Topics == null || options.Topics.Length <= 0) { throw new ArgumentNullException(nameof(options.BrokerServers)); } PreConditions.NotNullOrEmpty(options.Group, nameof(options.Group)); Append("bootstrap.servers", options.BrokerServers.Aggregate((x, y) => $"{x},{y}")); Append("allow.auto.create.topics", options.AllowAutoCreateTopic); Append("group.id", options.Group); Append("auto.offset.reset", options.BootstrapOffsetOptions.AutoResetType); Append("enable.auto.commit", options.AutoCommitOptions.Enable); Append("auto.commit.interval.ms", options.AutoCommitOptions.IntervalMilliseconds); return(this); }