170 похожих чатов

Всем привет. А нет тут гуру kafka и spring-kafka в

частности?
Есть spring boot приложение, которое слушает очередь kafka (настроен KafkaListener и containerFactory). Нужно сделать так, чтобы при ошибках подключения к брокеру кафки (ну например брокер упал) консьюмер останавливался и была возможность.обработать такую ошибку.

Пробовал сделать EventListener на NonResponsiveConsumerEvent, но чет не работает (его не вызывает). Пробовал описать KafkaListenerErrorHandler, но он работает на ошибки в процессе обработки сообщения.

Как проверяю:
В bootstrap server указываю адрес (к примеру localhost:9092) на котором гарантировано нет брокера кафки. Стартую приложение, листенер запускается и просто начинает циклически делать попытки подключения к брокеру. При этом в логи просто падают Warning об ошибках подключения к брокеру.

Может какие настройки консьюмера надо установить, чтобы вызывался таки NonResponsiveConsumerEvent?

Сейчас в логе сообщения при недоступности:
Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected

6 ответов

7 просмотров

Можно по умолчанию листенер выключенным сделать, при старте приложения кафка админом проверять доступен брокер или нет, и если доступен то включать листенер

Вот так еще попробуй @EventListener({NonResponsiveConsumerEvent.class})

Кирилл-Веревкин Автор вопроса
Denis
Можно по умолчанию листенер выключенным сделать, п...

А если уже после запуска отвалился брокер? Просто периодически осуществлять проверку в процессе и если что ступать консьюмер? Костыльно как то, хочется получить красивый error handler для таких ситуаций, а чет не нахожу.

Кирилл Веревкин
А если уже после запуска отвалился брокер? Просто ...

Согласен, костыльно. Попробуй второй вариант с анотациец

Кирилл-Веревкин Автор вопроса
Denis
Вот так еще попробуй @EventListener({NonResponsive...

Попробую так. Но у меня есть в целом event listener на это событие, но объявлен по другому. Щас переделаю на такой вариант

Похожие вопросы

Обсуждают сегодня

И к какой архитектуре привязана Java?
Dmitry Olshansky
17
@Aiwan что такое база образца?
Alexey
27
коллеги, добрый вечер! А никто не знает как модальная форма может себя закрыть? Ну допустим модальная форма определила, что смысла ей работать нет и хочет вернуть modalResult...
Михаил
83
Не многие знают, а кто знает, тот уже успел забыть, что в далёком 2004 году эта игра произвела настоящий фурор, настолько революционной была технология, применяемая для её соз...
ICCID
4
Короче я тут узнал полный пиздец Что кучу постов которые я создавал через posted Спустя время не могу редактировать и менять Мол телега возвращае ошибку Это реально так ...
inc.
13
Хотя у меня сейчас есть более сложная задача, вот её думаю: как объяснить челу переходного возраста противоположного полу, обучающегося в польском колледже (а-ля наш техникум)...
Вячеслав Кузьменко
15
Добрый день Хочу начать обучение языку, не являюсь представителем it, буду благодарна за помощь, совсем пока не понимаю ничего) Подскажите, пожалуйста, где можно начать первы...
Sara Lala
30
а сколько всего в IT умерло? Где флеш-игры, их было туча, где они все? Сегодня технология есть, а завтра вжух и мёртвая. Этот wasm сильно напоминает джавовские апплеты, silver...
Constantin F.
5
а вы в курсе, что Initialize() не работает? var arr123: array[0..123] of Byte; ... Initialize(arr123, SizeOf(arr123));
Iluha Companets
8
А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Карта сайта