コード例 #1
0
        /// <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();
        }
コード例 #2
0
 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)
 {
 }
コード例 #3
0
 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();
 }
コード例 #4
0
        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;
        }
コード例 #5
0
 /// <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)
 {
 }