public DefaultKafkaConsumerProvider(KafkaConsumerOptions kafkaConsumerOptions, Action <RecieveResult> onMessageRecieved) { this.kafkaConsumerOptions = kafkaConsumerOptions; this.onMessageRecieved = onMessageRecieved; Consumer = KafkaConsumer.Create(kafkaConsumerOptions.GroupId, kafkaConsumerOptions); Consumer.EnableAutoCommit = kafkaConsumerOptions.EnableAutoCommit; }
public KafkaMessageConsumer(ILogger <KafkaMessageConsumer <TData> > logger, IOptions <KafkaConsumerOptions <TData> > config, IMetricsFactory <KafkaMessageConsumer <TData> >?metricsFactory, IApplicationNameService applicationNameService, CloudEventFormatter cloudEventFormatter) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _applicationNameService = applicationNameService ?? throw new ArgumentNullException(nameof(config)); _cloudEventFormatter = cloudEventFormatter; _options = config.Value ?? throw new ArgumentNullException(nameof(config)); _consumerLagSummary = metricsFactory?.CreateSummary("consumer_lag_distribution", "Contains a summary of current consumer lag of each partition", new[] { "topic", "partition" }); _consumerLagGauge = metricsFactory?.CreateGauge("consumer_lag", "Contains current number consumer lag of each partition", false, "topic", "partition"); }
public KafkaConsumerBuilder(IServiceCollection services, KafkaConsumerOptions kafkaConsumerOptions) { this.Services = services; this.kafkaConsumerOptions = kafkaConsumerOptions; }