/// <exception cref="ConnectionException">None of the provided Kafka servers are resolvable.</exception> public BrokerRouter(IEnumerable <Uri> serverUris, IConnectionFactory connectionFactory = null, IConnectionConfiguration connectionConfiguration = null, IPartitionSelector partitionSelector = null, ICacheConfiguration cacheConfiguration = null, ILog log = null) { Log = log ?? TraceLog.Log; ConnectionConfiguration = connectionConfiguration ?? new ConnectionConfiguration(); _connectionFactory = connectionFactory ?? new ConnectionFactory(); foreach (var uri in serverUris) { try { var endpoint = _connectionFactory.Resolve(uri, Log); var connection = _connectionFactory.Create(endpoint, ConnectionConfiguration, Log); _allConnections = _allConnections.SetItem(endpoint, connection); } catch (ConnectionException ex) { Log.Warn(() => LogEvent.Create(ex, $"Ignoring uri that could not be resolved: {uri}")); } } if (_allConnections.IsEmpty) { throw new ConnectionException("None of the provided Kafka servers are resolvable."); } Configuration = cacheConfiguration ?? new CacheConfiguration(); _partitionSelector = partitionSelector ?? new PartitionSelector(); }
public KafkaOptions( Uri kafkaServerUri = null, IConnectionConfiguration connectionConfiguration = null, ICacheConfiguration cacheConfiguration = null, IConnectionFactory connectionFactory = null, IPartitionSelector partitionSelector = null, IProducerConfiguration producerConfiguration = null, IConsumerConfiguration consumerConfiguration = null, ILog log = null) : this(ImmutableList <Uri> .Empty.AddNotNull(kafkaServerUri), connectionConfiguration, cacheConfiguration, connectionFactory, partitionSelector, producerConfiguration, consumerConfiguration, log) { }
public ProducerConfiguration( int requestParallelization = Defaults.RequestParallelization, int batchSize = Defaults.BatchSize, TimeSpan?batchMaxDelay = null, TimeSpan?stopTimeout = null, IPartitionSelector partitionSelector = null, ISendMessageConfiguration sendDefaults = null) { RequestParallelization = requestParallelization; BatchSize = Math.Max(1, batchSize); BatchMaxDelay = batchMaxDelay ?? TimeSpan.FromMilliseconds(Defaults.BatchMaxDelayMilliseconds); StopTimeout = stopTimeout ?? TimeSpan.FromSeconds(Defaults.DefaultStopTimeoutSeconds); PartitionSelector = partitionSelector ?? new PartitionSelector(); SendDefaults = sendDefaults ?? new SendMessageConfiguration(); }
public KafkaOptions( IEnumerable <Uri> kafkaServerUris = null, IConnectionConfiguration connectionConfiguration = null, ICacheConfiguration cacheConfiguration = null, IConnectionFactory connectionFactory = null, IPartitionSelector partitionSelector = null, IProducerConfiguration producerConfiguration = null, IConsumerConfiguration consumerConfiguration = null, ILog log = null) { ServerUris = ImmutableList <Uri> .Empty.AddNotNullRange(kafkaServerUris); CacheConfiguration = cacheConfiguration ?? new CacheConfiguration(); ConnectionConfiguration = connectionConfiguration ?? new ConnectionConfiguration(); ConnectionFactory = connectionFactory ?? new ConnectionFactory(); PartitionSelector = partitionSelector ?? new PartitionSelector(); ProducerConfiguration = producerConfiguration ?? new ProducerConfiguration(); ConsumerConfiguration = consumerConfiguration ?? new ConsumerConfiguration(); Log = log ?? TraceLog.Log; }
/// <exception cref="ConnectionException">None of the provided Kafka servers are resolvable.</exception> public BrokerRouter(Uri serverUri, IConnectionFactory connectionFactory = null, IConnectionConfiguration connectionConfiguration = null, IPartitionSelector partitionSelector = null, ICacheConfiguration cacheConfiguration = null, ILog log = null) : this(new [] { serverUri }, connectionFactory, connectionConfiguration, partitionSelector, cacheConfiguration, log) { }