Обработка ошибок при загрузке Spring Kafka в пакетном прослушивателеJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Обработка ошибок при загрузке Spring Kafka в пакетном прослушивателе

Сообщение Anonymous »

Работаем над загрузочным приложением Spring, где оно слушает тему Kafka, обрабатывает ее и вставляет в БД. В настоящее время мы вручную подтверждаем сообщения и используем пакетный прослушиватель как «истина». Мы получаем пакет из 500 сообщений один раз для обработки, используя «цикл for» для обработки каждого сообщения и помещения в БД, а затем подтверждения сообщения в Kafka.
Я использовал «ExponentialBackOff» для повторных попыток, например, если БД не работает, текущее сообщение из 500 сообщений, следует попытаться выполнить «N» количество раз и, наконец, перейти к «CommonErrorHandler» и зарегистрировать сообщение.
Проблема здесь в том,
Если есть любая ошибка в 500-м событии, снова вся партия из 500 пытается повторно обработать, что неприемлемо.
Чтобы решить эту проблему, начал выдавать «BatchListenerFailedException» с индексом вместо Just "Исключение". Но это создает другую проблему: он не пытается N раз выполнить попытку, как только управление переходит к блоку перехвата с «BatchListenerFailedException», он переходит к общему обработчику ошибок и пропускает событие.
Чтобы решить эту проблему, нам нужно отслеживать количество повторных попыток, чтобы при последней попытке мы могли выбросить «BatchListenerFailedException». Но не знаю, как получить количество повторов в пакетном прослушивателе, поскольку @RetryableTopic не поддерживается пакетными прослушивателями.
Как я могу решить проблему, есть предложения?
for(int i=0;i

Подробнее здесь: https://stackoverflow.com/questions/787 ... h-listener
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»