Kafka Consumer不使用Java中的所有记录

时间:2019-12-03 06:23:16

标签: java apache-kafka kafka-consumer-api

我写了一个Kafka使用者来从主题中获取所有记录,然后仅进行下一步,但并没有获取所有记录。

while (fetchedRecord) {

            ConsumerRecords<String, String> records = consumer.poll(10);
            System.out.println("Waiting for Records from Party-Resolved-Update");
            Thread.sleep(40000);
            for (ConsumerRecord<String, String> record : records) {

                System.out.println("Record fetched");
                end++;
                System.out.println(record.value());
                if (!StringUtils.isEmpty(record.value())) {
                    fetchedRecord = false;
                    response = record.value();

                    FSecurity sc = new FSecurity();
                    sc.init();
                    decryptResponse.add(sc.decryptData(response));
                    System.out.println("decryptResponse=" + decryptResponse);
                }


            }

        }

1 个答案:

答案 0 :(得分:0)

请正确描述您的问题。

假设您无法使用下一组记录。

解决方案 提供enable.auto.commit作为true,或者在代码中显式添加consumer.commitSync()语句。这将允许您轮询下一个偏移记录。