通过骆驼的卡夫卡消费者代码,可以看到在KafkaFetchRecords中有以下代码:
if (!first) {
// skip one poll timeout before trying again
long delay = endpoint.getConfiguration().getPollTimeoutMs();
log.info("Reconnecting {} to topic {} after {} ms", threadId, topicName, delay);
try {
Thread.sleep(delay);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
}
此延迟的默认值为5秒。我试图理解为什么需要这样做,如果我将其减少到1秒,是否还会有任何问题。据我了解,5秒似乎是很多时间,这将是所有处理的完全停止。
行号:198