Вы можете использовать AckMode.TIME
или AckMode.COUNT
с невероятно большим ackTime
или ackCount
, чтобы контейнер никогда не справлялся.
Затем передайте Consumer<?, ?>
в ваш метод слушателя и выполните коммит смещения самостоятельно.
Обратите внимание, однако, что потребитель не является потокобезопасным, поэтому вы должны выполнить фиксацию в потоке слушателя.
Кроме того, имейте в виду, что записи не имеют индивидуального подтверждения, а только смещение. Вы не можете подтвердить "не в порядке".
Кроме того, вам, вероятно, потребуется увеличить max.poll.interval.ms
сверх значения по умолчанию (5 минут), чтобы избежать перебалансировки разделов.