public KafkaQueueAdapterReceiver(QueueId queueId, IManualConsumer consumer, KafkaStreamProviderOptions options, IKafkaBatchFactory factory, ILogger logger) { // input checks if (queueId == null) { throw new ArgumentNullException(nameof(queueId)); } if (consumer == null) { throw new ArgumentNullException(nameof(consumer)); } if (factory == null) { throw new ArgumentNullException(nameof(factory)); } if (options == null) { throw new ArgumentNullException(nameof(options)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } _counterCurrentOffset = Metrics.Metric.Context("KafkaStreamProvider").Counter($"CurrentOffset queueId:({queueId.GetNumericId()})", unit: Unit.Custom("Log")); _options = options; Id = queueId; _consumer = consumer; _factory = factory; _logger = logger; }
public KafkaQueueAdapter(HashRingBasedStreamQueueMapper queueMapper, KafkaStreamProviderOptions options, string providerName, IKafkaBatchFactory batchFactory, ILogger logger) { if (options == null) { throw new ArgumentNullException(nameof(options)); } if (batchFactory == null) { throw new ArgumentNullException(nameof(batchFactory)); } if (queueMapper == null) { throw new ArgumentNullException(nameof(queueMapper)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (string.IsNullOrEmpty(providerName)) { throw new ArgumentNullException(nameof(providerName)); } _options = options; _streamQueueMapper = queueMapper; Name = providerName; _batchFactory = batchFactory; _logger = logger; // Creating a producer KafkaOptions kafkaOptions = new KafkaOptions(_options.ConnectionStrings.ToArray()) { Log = new KafkaLogBridge(logger) }; var broker = new BrokerRouter(kafkaOptions); _producer = new Producer(broker) { BatchDelayTime = TimeSpan.FromMilliseconds(_options.TimeToWaitForBatchInMs), BatchSize = _options.ProduceBatchSize }; _gateway = new ProtocolGateway(kafkaOptions); _logger.Info("KafkaQueueAdapter - Created a KafkaQueueAdapter"); }
public KafkaQueueAdapterReceiver(QueueId queueId, IManualConsumer consumer, KafkaStreamProviderOptions options, IKafkaBatchFactory factory, Logger logger) { // input checks if (queueId == null) throw new ArgumentNullException(nameof(queueId)); if (consumer == null) throw new ArgumentNullException(nameof(consumer)); if (factory == null) throw new ArgumentNullException(nameof(factory)); if (options == null) throw new ArgumentNullException(nameof(options)); if (logger == null) throw new ArgumentNullException(nameof(logger)); _counterCurrentOffset = Metric.Context("KafkaStreamProvider").Counter($"CurrentOffset queueId:({queueId.GetNumericId()})", unit: Unit.Custom("Log")); _options = options; Id = queueId; _consumer = consumer; _factory = factory; _logger = logger; }