#spring-batch
#spring-batch
Вопрос:
Я разрабатываю пакетное приложение Spring Batch —
Как понять или написать код для ?
- Определите, какой фрагмент вышел из строя на шаге, основанном на фрагменте?
- Как определить, занимает ли запрос читателя сколько времени?
Ответ №1:
- Определите, какой фрагмент вышел из строя на шаге, основанном на фрагменте?
A ChunkListener
позволяет вам достичь этого. Метод afterChunkError
будет вызываться при возникновении ошибки в данном блоке
- Как определить, занимает ли запрос читателя сколько времени?
Это зависит от читателя. ItemReadListener
вызывается вокруг каждой операции чтения, которая обычно не вызывает запрос. Например, JdbcCursorItemReader
выполняется запрос в openCursor
методе. Этот метод защищен, вы можете переопределить его и настроить время по мере необходимости. Для JdbcPagingItemReader
запроса для каждой страницы вызывается в doReadPage
методе, который также защищен, поэтому вы можете переопределить его и рассчитать время по мере необходимости.
Комментарии:
1. Спасибо за ответ, есть ли какой-либо способ, если мы можем получить номер фрагмента или какой элемент является мусорными данными?
2. Для номера блока нет, вам нужно сохранить счетчик в вашем прослушивателе блоков. Для недопустимых элементов, да, вы можете использовать
SkipListener
для пропущенных элементов на этапах чтения / обработки / записи.3. Спасибо за ответ. Я думаю, мы должны предоставить возможность доступа к фрагменту no. это действительно помогает найти точный фрагмент, а затем уменьшение размера фрагмента также может привести к получению значения
4. Это еще одна функция, вы можете открыть проблему, если хотите. Я полагаю, что я ответил на этот вопрос. Поэтому, пожалуйста, примите / поддержите ответ или дайте мне знать, если вам нужны другие подробности.