говорят, что перед перемоткой нужно получить партиции, которым можно выставить смещение, т.е. сделать:
consumer.poll(Duration.ZERO)
не перематывается - не возвращает сообщения (про повторном poll). но если выполнить с бОльшим таймаутом:
consumer.poll(Duration.ofMillis(1000))
то перематывается, сообщения получаю.
почему с 0-ым таймаутом не работает?
из доков KafkaConsumer > This method returns immediately if there are records available. Otherwise, it will await the passed timeout. If the timeout expires, an empty record set will be returned.
> Note, that seekXXX() can only be used after a consumer joined a group -- thus, it's required to do a "dummy-poll" before using seekXXX()
Обсуждают сегодня