#java #spring #serialization #spring-batch
#java #spring #сериализация #spring-batch
Вопрос:
Я пытаюсь перезапустить задание, которое не удалось выполнить на последнем из более чем 20 шагов, но я получаю ошибку JobExecution, которую не удалось перезапустить, не удается десериализовать контекст выполнения.
Пытается ли он получить его из Short_Context или Serialized_Context в BATCH_STEP_EXECUTION_CONTEXT? В случае, если что-то не так, должен ли я исправить все записи предыдущих шагов или только ту, которая предшествовала неудачному шагу?
ОБНОВЛЕНИЕ: SHORT_CONTEXT является неполным, все значения заканчиваются на «…», поэтому они не являются допустимым JSON, что может вызвать ошибку, если перезапуск считывается отсюда. Serialized_Context завершен и является допустимым JSON.
Комментарии:
1. В чем причина
Unable to deserialize the execution context
? У вас есть трассировка стека?2. @MahmoudBenHassine К сожалению, у меня нет никаких подробностей об ошибке, и в настоящее время у нас нет средств для ее репликации (возникает, когда предыдущее задание разделителя обрабатывает более 1000 записей), но из того, что я прочитал, причина должна быть в том, что контекст JSON имеет реквизиты из классов, не помеченных как десериализуемые, или он был сериализован неправильно. Последний неудачный шаг не нуждается в этом контексте, поэтому я ищу способ «пропустить» эту проверку и перезапустить задание без перераспределения