Написание потребительского приложения Java Kafka без цикла while - PullRequest
0 голосов
/ 05 июня 2019

Недавно мы начали использовать Kafka, и я пишу потребительское приложение Kafka, использующее собственный API-интерфейс Kafka Java.

Однако большинство примеров, которые я видел, используют цикл while и затем вызывают метод poll для объекта-потребителя в цикле. Как ниже:

while (true) {
            final ConsumerRecords<Long, String> consumerRecords =
                    consumer.poll(1000);

            if (consumerRecords.count()==0) {
                noRecordsCount++;
                if (noRecordsCount > giveUp) break;
                else continue;
            }

            consumerRecords.forEach(record -> {
                System.out.printf("Consumer Record:(%d, %s, %d, %d)\n",
                        record.key(), record.value(),
                        record.partition(), record.offset());
            });

            consumer.commitAsync();
        }

Я просто ищу лучший способ сделать это без цикла, используя собственный API-интерфейс пользователя Java. Я знаю, что с помощью весенней кафки вам не нужно их писать. Как насчет использования нативного API? Хороший подход или лучшая практика?

...