Ошибка весеннего пакета Не содержит входных строк CSV

#spring-batch

Вопрос:

Я не могу сохранить ошибку регистрации на всех этапах (этап анализа, бизнес-ошибка, ошибка базы данных, ошибка недопустимых данных) в файле csv

Причина: Входная строка csv не может быть получена, так как метод ошибки содержит только исключение в качестве параметра, а не фактические данные строки csv. (Например: только исключение синтаксического анализа имеет метод inputString (), а остальная часть этапа обработки ошибок не содержит входных данных)

Как получить входную строку или строку, обрабатываемую на всех этапах пакетного задания spring??

Мне нужно создать csv-файл с ошибкой со следующими столбцами строк CSV номер строки сообщение об ошибке причина

Ответ №1:

Если во время чтения возникнет ошибка, то a FlatFileParseException будет передано в SkipListener#onSkipInRead . Это исключение дает вам номер строки, а также необработанную строку, считанную из файла.

Если вы хотите перехватывать ошибки во время обработки, т. Е. в SkipListener#onSkipInProcess , то вам необходимо написать класс исключений, содержащий все сведения, необходимые для создания отчетов об ошибках. Элемент может быть сконструирован таким образом, чтобы содержать исходную строку, с которой он был считан.