Kafka Consumer - Сброс времени опроса потребителей
У меня есть Kafka Consumer со временем опроса, упомянутым как
kafkaConsumer.poll(polltimeinmilliseconds);
Я хотел бы обновить таймер опроса динамически. Прямо сейчас я устанавливаю это в статическую переменную, и время опроса обновляется.
Проблема в том, что потребитель ожидает завершения работы старого таймера. то есть, если старый таймер был 5 минут, и если я обновляю таймер до 10 (динамически), он должным образом ждет первые 5 минут, прежде чем обновлять до интервала 10 минут.
Как мне сразу его сбросить. то есть таймер должен быть сброшен и установлен на 10 минут немедленно?
1 ответ
Вы можете прервать длинный опрос, используя wakeup
метод.
Пробуждение потребителя. Этот метод является поточно-ориентированным и особенно полезен для прерывания длинного опроса. Поток, блокирующий операцию, выдаст исключение WakeupException. Если ни один поток не блокирует метод, который может генерировать исключение WakeupException, следующий вызов такого метода вызовет его.