public KafkaTopicReceiveEndpointConfiguration(IKafkaHostConfiguration hostConfiguration, ConsumerConfig consumerConfig, string topic,
                                                      IBusInstance busInstance, IReceiveEndpointConfiguration endpointConfiguration, IHeadersDeserializer headersDeserializer)
            : base(endpointConfiguration)
        {
            _hostConfiguration     = hostConfiguration;
            _busInstance           = busInstance;
            _endpointConfiguration = endpointConfiguration;
            _consumerConfig        = consumerConfig;
            _options = new OptionsSet();
            Topic    = topic;

            if (!SerializationUtils.DeSerializers.IsDefaultKeyType <TKey>())
            {
                SetKeyDeserializer(new MassTransitJsonDeserializer <TKey>());
            }
            SetValueDeserializer(new MassTransitJsonDeserializer <TValue>());
            SetHeadersDeserializer(headersDeserializer);

            CheckpointInterval     = TimeSpan.FromMinutes(1);
            CheckpointMessageCount = 5000;
            MessageLimit           = 10000;
            ConcurrencyLimit       = 1;

            _consumerConfigurator = new PipeConfigurator <ConsumerContext <TKey, TValue> >();
        }
Beispiel #2
0
 public KafkaRider(IKafkaHostConfiguration hostConfiguration, IBusInstance busInstance, IReceiveEndpointCollection endpoints,
                   ITopicProducerProvider producerProvider, IRiderRegistrationContext registrationContext)
 {
     _hostConfiguration   = hostConfiguration;
     _busInstance         = busInstance;
     _endpoints           = endpoints;
     _producerProvider    = producerProvider;
     _registrationContext = registrationContext;
 }
        public static ConsumerConfig GetConsumerConfig(this IKafkaHostConfiguration hostConfiguration, ConsumerConfig config)
        {
            Dictionary <string, string> settings = hostConfiguration.Configuration.ToDictionary(setting => setting.Key, setting => setting.Value);

            foreach (KeyValuePair <string, string> setting in config)
            {
                settings[setting.Key] = setting.Value;
            }

            return(new ConsumerConfig(settings));
        }
 public KafkaReceiveEndpointBuilder(IBusInstance busInstance, IReceiveEndpointConfiguration configuration,
                                    IKafkaHostConfiguration hostConfiguration, ReceiveSettings receiveSettings, IHeadersDeserializer headersDeserializer,
                                    Func <ConsumerBuilder <TKey, TValue> > consumerBuilderFactory)
     : base(configuration)
 {
     _busInstance            = busInstance;
     _configuration          = configuration;
     _hostConfiguration      = hostConfiguration;
     _receiveSettings        = receiveSettings;
     _headersDeserializer    = headersDeserializer;
     _consumerBuilderFactory = consumerBuilderFactory;
 }
Beispiel #5
0
 public KafkaConsumerSpecification(IKafkaHostConfiguration hostConfiguration, ConsumerConfig consumerConfig, string topicName,
     IHeadersDeserializer headersDeserializer,
     Action<IKafkaTopicReceiveEndpointConfigurator<TKey, TValue>> configure)
 {
     _hostConfiguration = hostConfiguration;
     _consumerConfig = consumerConfig;
     _topicName = topicName;
     _endpointObservers = new ReceiveEndpointObservable();
     _headersDeserializer = headersDeserializer;
     _configure = configure;
     EndpointName = $"{KafkaTopicAddress.PathPrefix}/{_topicName}";
 }
        public KafkaProducerSpecification(IKafkaHostConfiguration hostConfiguration, ProducerConfig producerConfig, string topicName,
                                          IHeadersSerializer headersSerializer)
        {
            _hostConfiguration = hostConfiguration;
            _producerConfig    = producerConfig;
            TopicName          = topicName;
            _headersSerializer = headersSerializer;
            _sendObservers     = new SendObservable();

            SetKeySerializer(new MassTransitJsonSerializer <TKey>());
            SetValueSerializer(new MassTransitJsonSerializer <TValue>());
            SetHeadersSerializer(headersSerializer);
        }
Beispiel #7
0
        public KafkaReceiveEndpointContext(IBusInstance busInstance, IReceiveEndpointConfiguration endpointConfiguration,
                                           IKafkaHostConfiguration hostConfiguration,
                                           ReceiveSettings receiveSettings,
                                           IHeadersDeserializer headersDeserializer,
                                           Func <ConsumerBuilder <TKey, TValue> > consumerBuilderFactory)
            : base(busInstance.HostConfiguration, endpointConfiguration)
        {
            _busInstance = busInstance;
            _settings    = receiveSettings;

            _consumerContext = new Recycle <IConsumerContextSupervisor <TKey, TValue> >(() =>
                                                                                        new ConsumerContextSupervisor <TKey, TValue>(hostConfiguration.ClientContextSupervisor, _settings, busInstance.HostConfiguration,
                                                                                                                                     headersDeserializer, consumerBuilderFactory));
        }
Beispiel #8
0
 public TopicProducerProvider(IBusInstance busInstance, IKafkaHostConfiguration hostConfiguration)
 {
     _busInstance       = busInstance;
     _hostConfiguration = hostConfiguration;
 }
Beispiel #9
0
 public KafkaBusInstanceSpecification(IRiderRegistrationContext context, IKafkaHostConfiguration hostConfiguration)
 {
     _context           = context;
     _hostConfiguration = hostConfiguration;
 }