Example #1
0
        static async Task MainAsync(string consumerGroup)
        {
            var dao = new DataAccess.Dao();
            //var msgHandler = new Business.MessageHandler(dao);
            var msgHandler = new DeduplicationDecorator(new Business.MessageHandler(dao), dao);
            var consumer   = new Consumer(dao, msgHandler, consumerGroup);

            consumer.Subscribe(KafkaConfig.TopicName);

            var chunkSize = 100;

            while (true)
            {
                if (consumer.InProcessingMessages < chunkSize)
                {
                    for (var i = 0; i < chunkSize; i++)
                    {
                        consumer.Poll();
                    }
                }
                else
                {
                    await Task.Delay(1);
                }
            }
        }
        static async Task MainAsync(string consumerGroup)
        {
            var dao = new DataAccess.Dao();
            //var msgHandler = new Business.MessageHandler(dao);
            var msgHandler = new DeduplicationDecorator(new Business.MessageHandler(dao), dao);
            var consumer   = new Consumer(dao, msgHandler, consumerGroup);

            consumer.Subscribe(KafkaConfig.TopicName);

            while (true)
            {
                await consumer.ConsumeProcessAndCommitAsync();
            }
        }
        static void Main(string[] args)
        {
            var consumerGroup = args.Length > 0 ? args[0] : "NEW__ASYNC_PROCESSING_AUTO_COMMIT_CONSUMER_79";

            Console.WriteLine($"Consumer group: {consumerGroup}");

            var dao = new DataAccess.Dao();
            //var msgHandler = new MessageHandler(dao);
            //var msgHandler = new Business.BreakAt1000MsgDecorator(new Business.MessageHandler(dao));
            var msgHandler = new DeduplicationDecorator(new Business.MessageHandler(dao), dao);
            var consumer   = new Consumer(dao, msgHandler, consumerGroup);

            consumer.Subscribe(KafkaConfig.TopicName);


            while (true)
            {
                consumer.Poll();
            }
        }