예제 #1
0
        public List <KafkaMessage> LoadMessages(KafkaTopic kafkaTopic)
        {
            var kafkaMessages = new List <KafkaMessage>();

            var fetchResponse = connector.Fetch(kafkaTopic.TopicName, kafkaTopic.PartitionId, DefaultCorrelationId, clientId, kafkaTopic.Offset, 5000);

            foreach (var fetchTopic in fetchResponse.Topics)
            {
                foreach (var fetchPartition in fetchTopic.Partitions)
                {
                    if (fetchPartition.MessageSets == null)
                    {
                        return(kafkaMessages);
                    }
                    foreach (var messageSet in fetchPartition.MessageSets)
                    {
                        var kafkaMessage = new KafkaMessage(fetchPartition.PartitionId, fetchTopic.TopicName,
                                                            messageSet.Message.Payload,
                                                            messageSet.MessageOffset);
                        kafkaMessages.Add(kafkaMessage);
                        kafkaTopic.Offset = kafkaMessage.MessageOffset;
                    }
                }
            }
            return(kafkaMessages);
        }
예제 #2
0
        public List<KafkaMessage> LoadMessages(KafkaTopic kafkaTopic)
        {
            var kafkaMessages = new List<KafkaMessage>();

            var fetchResponse = connector.Fetch(kafkaTopic.TopicName, kafkaTopic.PartitionId, DefaultCorrelationId, clientId, kafkaTopic.Offset, 5000);
            foreach (var fetchTopic in fetchResponse.Topics)
            {
                foreach (var fetchPartition in fetchTopic.Partitions)
                {
                    if (fetchPartition.MessageSets == null)
                        return kafkaMessages;
                    foreach (var messageSet in fetchPartition.MessageSets)
                    {
                        var kafkaMessage = new KafkaMessage(fetchPartition.PartitionId, fetchTopic.TopicName,
                                                                     messageSet.Message.Payload,
                                                                     messageSet.MessageOffset);
                        kafkaMessages.Add(kafkaMessage);
                        kafkaTopic.Offset = kafkaMessage.MessageOffset;
                    }
                }
            }
            return kafkaMessages;
        }
예제 #3
0
 static void DumpMessage(KafkaMessage message)
 {
     Console.WriteLine(message);
 }