Комментарии 3
Вообще мы в наших сервисах как раз таки используем по умолчанию параметр none, чтобы в случае если кто-то в конфиге вдруг что-то перепутал и нечаенно отредактировал consumer group, чтоб не произошла вычитка сначала при такой человеческом факторе - как раз none работает как предохранитель.
Также для новой consumer group может действительно не подходить ни earliest ни latest, в этом случае можно создать consumer group через командную строку. Так собственно у нас и предполагается, что стоит none и службе поддержке при запуске сервиса нужно осознанно понимать откуда начать чтение. Если подходят latest и earliest для первого запуска, то выставляем их, но затем все равно меняем на none как предохранитель. Если не подходят - то надо вручную указать.
Можно рассмотреть AdminClient и его api, чтобы выполнять проверки и настройки конфигурации для группы консьюмера в топике. После завершения проверки уже инициализировать listener'а.
Для тех, кто не в курсе этим (auto.offset.reset) параметром определяется какое смещение Кафка будет использовать для новых консьюмеров (кто еще не имеет установленное смещение). Для уже существующих этот параметр игнорируется.
Про auto.offset.reset в Spring Kafka