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");
 }
Exemplo n.º 3
0
 public KafkaConsumerBuilder(IServiceCollection services, KafkaConsumerOptions kafkaConsumerOptions)
 {
     this.Services             = services;
     this.kafkaConsumerOptions = kafkaConsumerOptions;
 }