コード例 #1
0
        public async Task TestSimpleConsumerWorksOk()
        {
            var keySerializer = new NullSerializer<object>();
            var valueSerializer = new StringSerializer();
            var messagePartitioner = new LoadBalancedPartitioner<object>();
            using (var temporaryTopic = testCluster.CreateTemporaryTopic())
            using (var brokers = new KafkaBrokers(testCluster.CreateBrokerUris()))
            {
                var topic = temporaryTopic.Name;
                var producer = KafkaProducer.Create(brokers, keySerializer, valueSerializer, messagePartitioner);
                var consumer = KafkaConsumer.Create(defaultConsumerGroup, brokers, keySerializer, valueSerializer, 
                    new TopicSelector { Partition = 0, Topic = topic });

                await producer.SendAsync(KeyedMessage.Create(topic, "Message"), CancellationToken.None);

                var responses = await consumer.ReceiveAsync(CancellationToken.None);
                Assert.That(responses, Is.Not.Null);
                Assert.That(responses, Has.Count.EqualTo(1));

                var first = responses.First();
                Assert.That(first.Key, Is.Null);
                Assert.That(first.Offset, Is.EqualTo(0));
                Assert.That(first.Partition, Is.EqualTo(0));
                Assert.That(first.Topic, Is.EqualTo(topic));
                Assert.That(first.Value, Is.EqualTo("Message"));
            }
        }
コード例 #2
0
        public async Task TestSimpleConsumerWorksOk()
        {
            var keySerializer      = new NullSerializer <object>();
            var valueSerializer    = new StringSerializer();
            var messagePartitioner = new LoadBalancedPartitioner <object>();

            using (var temporaryTopic = testCluster.CreateTemporaryTopic())
                using (var brokers = new KafkaBrokers(testCluster.CreateBrokerUris()))
                {
                    var topic    = temporaryTopic.Name;
                    var producer = KafkaProducer.Create(brokers, keySerializer, valueSerializer, messagePartitioner);
                    var consumer = KafkaConsumer.Create(defaultConsumerGroup, brokers, keySerializer, valueSerializer,
                                                        new TopicSelector {
                        Partition = 0, Topic = topic
                    });

                    await producer.SendAsync(KeyedMessage.Create(topic, "Message"), CancellationToken.None);

                    var responses = await consumer.ReceiveAsync(CancellationToken.None);

                    Assert.That(responses, Is.Not.Null);
                    Assert.That(responses, Has.Count.EqualTo(1));

                    var first = responses.First();
                    Assert.That(first.Key, Is.Null);
                    Assert.That(first.Offset, Is.EqualTo(0));
                    Assert.That(first.Partition, Is.EqualTo(0));
                    Assert.That(first.Topic, Is.EqualTo(topic));
                    Assert.That(first.Value, Is.EqualTo("Message"));
                }
        }
コード例 #3
0
 public ClientConfiguration()
 {
     Serializer         = new NullSerializer();
     MaximumTimeout     = TimeSpan.MaxValue;
     PublishingPoolSize = 1;
     ConsumingPoolSize  = 1;
     Logger             = new NullLogger();
 }
コード例 #4
0
        public Serializer()
        {
            _serializerCache = new ConcurrentDictionary <int, int>();
            _serializers     = new List <ISerializer>();
            _lock            = new object();

            _nullSer = new NullSerializer();
        }
コード例 #5
0
 public HostConfiguration()
 {
     Operations = new List <OperationConfiguration>();
     Serializer = new NullSerializer();
     Logger     = new NullLogger();
 }