Пример #1
0
        public KafkaMessageProducer(KafkaMessagingGatewayConfiguration globalConfiguration,
                                    KafkaMessagingProducerConfiguration producerConfiguration)
        {
            var serialiser = new StringSerializer(Encoding.UTF8);
            var config     = globalConfiguration.ToConfig();

            config    = config.Concat(producerConfiguration.ToConfig());
            _producer = new Producer <Null, string>(config, null, serialiser);
        }
Пример #2
0
        public KafkaMessageConsumer(string groupId, string topic,
                                    KafkaMessagingGatewayConfiguration globalConfiguration,
                                    KafkaMessagingConsumerConfiguration consumerConfiguration)
        {
            var config = globalConfiguration.ToConfig();

            config    = config.Concat(consumerConfiguration.ToConfig());
            config    = config.Concat(new[] { new KeyValuePair <string, object>("group.id", groupId) });
            _consumer = new Consumer <Null, string>(config, null, new StringDeserializer(Encoding.UTF8));

            _consumer.OnPartitionsAssigned += (_, partitions) => OnPartionsAssigned(partitions);
            _consumer.OnPartitionsRevoked  += (_, partitions) => OnPartionsRevoked(partitions);

            if (_logger.Value.IsErrorEnabled())
            {
                _consumer.OnError += (_, error) =>
                                     _logger.Value.Error($"BrokerError: Member id: {_consumer.MemberId}, error: {error}");
                _consumer.OnConsumeError += (_, error) =>
                                            _logger.Value.Error($"ConsumeError: Member Id: {_consumer.MemberId}, error: {error}");
            }

            _consumer.Subscribe(new [] { topic });
        }