Spring Kafka Consumer, перемотка смещения потребителя для возврата к «n» записям - PullRequest
0 голосов
/ 09 июля 2019

Я использую "программный" способ потребления сообщений из темы Кафки, используя org.springframework.kafka.listener.ConcurrentMessageListenerContainer

Мне интересно, есть ли "пружинный" способ перемотки смещений для определенных разделов темы для возврата назад и сообщений?

Хотелось бы знать самый чистый способ сделать это (программно и без использования CLI).

1 Ответ

0 голосов
/ 09 июля 2019

Если вы хотите сбросить смещения во время запуска приложения, используйте ConsumerAwareRebalanceListener и выполните поиск потребителя при назначении разделов;Вы можете найти текущее смещение (я), вызвав Consumer.position().

Если вы хотите произвольно перематывать разделы во время выполнения, попросите слушателя реализовать ConsumerSeekAware и захватить ссылку на ConsumerSeekCallback.

См. этот ответ для примера использования ConsumerSeekAware.

ConsumerSeekAware также имеет onIdleContainer(), который будет вызываться, когда в течение * 1016 не было получено никаких записей*;этот обратный вызов предоставляет вам текущие смещения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...