При использовании пружинной кафки в нашем потребителе кафки. В соответствии с моим бизнес-требованием, мне нужно снова вернуться к той же партии записей в случае сбоя при обработке этой партии. Согласно https://kafka.apache.org/22/javadoc/org/apache/kafka/clients/consumer/KafkaConsumer.html, раздел: - «Смещения и позиция потребителя» говорит, что Кафка поддерживает числовое смещение для каждой записи в разделе. Это смещение действует как уникальный идентификатор записи в этом разделе, а также обозначает позицию потребителя в разделе. Например, потребитель, который находится в позиции 5, использовал записи со смещением от 0 до 4 и затем получит запись со смещением 5. На самом деле есть два понятия позиции, относящиеся к пользователю потребителя: -
Позиция потребителя дает смещение следующей записи, которая будет выдана. Это будет на единицу больше, чем максимальное смещение, увиденное потребителем в этом разделе. Он автоматически перемещается каждый раз, когда потребитель получает сообщения при вызове к опросу (Длительность).
Принятая позиция - это последнее смещение, которое было надежно сохранено. Если процесс завершится неудачно и перезапустится, это смещение, к которому будет восстанавливаться потребитель. Потребитель может либо автоматически фиксировать смещения периодически; или он может управлять этой зафиксированной позицией вручную, вызывая один из API-интерфейсов фиксации (например, commitSyn c и commitAsyn c).
Для моего варианта использования я хочу контролировать первый. Есть ли способ сделать это?