Spring Batch: удаление трассировки стека исключительной ситуации времени выполнения из описания выхода - PullRequest
0 голосов
/ 04 мая 2020

В моем весеннем пакетном задании, если на шаге ItemWriter есть необработанное исключение (например, из-за нарушения первичного ключа из-за неверных данных при сохранении в БД), мое задание не выполняется, и затем я получаю еще одну ошибку, потому что основной пакет пружины не может обновить статус неудачного завершения до таблицы BATCH_JOB_EXECUTION. Причина в том, что описание выхода имеет полную трассировку стека, которая больше, чем размер столбца db (2500).

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

Спасибо.

1 Ответ

0 голосов
/ 04 мая 2020

Как мне обработать эти исключения в весенней партии?

Я бы исправил причину root, проверив соответствие данных схеме db (правильный тип, правильный длина, и т. д. c), прежде чем писать. Проверка данных - это типичный вариант использования для процессора элементов.

Как я могу обрезать это описание выхода до меньшего настраиваемого сообщения?

Вместо обрезка трассировки стека (это сделает ее нечитаемой, и, следовательно, вы не сможете увидеть причину root исключения, которое находится в конце трассировки стека), вы можете увеличить длину столбца, используя maxVarcharLength .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...